李神峰 2024-11-08 15:40:29 +08:00
commit 649b7d3af2
18 changed files with 324 additions and 311 deletions

18
App.vue
View File

@ -87,4 +87,22 @@
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
page {
height: 100%;
background-color: #f3f5f8;
}
.time-ranger{
background-color: #ffffff;
padding-bottom: 10px;
.start-time, .end-time{
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn{
margin: 3px 0 0 5px;
// color: #3399ef;
}
}
</style> </style>

View File

@ -133,21 +133,6 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.jcsj-box{ .jcsj-box{
.time-ranger{
// display: flex;
// align-items: center;
margin-bottom: 10px;
.start-time, .end-time{
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn{
margin: 3px 0 0 5px;
// color: #3399ef;
}
}
.jcsj-content{ .jcsj-content{
max-height:100vh; max-height:100vh;
overflow-y:auto overflow-y:auto

View File

@ -83,6 +83,7 @@
this.getYjData(); this.getYjData();
uni.$showMsg("刷新成功"); uni.$showMsg("刷新成功");
setTimeout(function () { setTimeout(function () {
console.log(11);
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
}, 1000); }, 1000);
}, },
@ -134,6 +135,7 @@
} }
}, },
methods: { methods: {
getYlzList() { getYlzList() {
uni.$http.post('/gunshiApp/xyt/stPptnRReal/list').then(res => { uni.$http.post('/gunshiApp/xyt/stPptnRReal/list').then(res => {
if (res.data.code == 200) { if (res.data.code == 200) {

View File

@ -1,6 +1,6 @@
<template> <template>
<view :style="{height:'100vh',overflow:'hidden',backgroundColor: '#f0f0f0',}"> <view :style="{height:'100vh',overflow:'hidden',backgroundColor: '#f0f0f0',}">
<u-navbar title="消息中心" :autoBack="true" :titleStyle="{ <u-navbar title="消息中心1" :autoBack="true" :titleStyle="{
fontSize:'18px' fontSize:'18px'
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'> }" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
</u-navbar> </u-navbar>
@ -57,15 +57,12 @@
}; };
}, },
onLoad(options){ onLoad(options){
console.log(options);
this.list.push(JSON.parse(options.item)) this.list.push(JSON.parse(options.item))
this.yd(item) this.yd(JSON.parse(options.item))
}, },
methods: { methods: {
yd(item){ yd(item){
uni.$http.post('/gunshiApp/xyt/messageCenter/update').then(res => { uni.$http.post('/gunshiApp/xyt/messageCenter/update',{...item,status:1})
})
}, },
confirm(e) { confirm(e) {
console.log(e); console.log(e);

View File

@ -76,9 +76,10 @@
list: [] list: []
}; };
}, },
onLoad(options) { onShow(options) {
this.getList() this.getList()
}, },
computed:{ computed:{
startTime:function (){ startTime:function (){
return this.stm?moment(this.stm).format('YYYY-MM-DD HH:mm:ss'):this.start return this.stm?moment(this.stm).format('YYYY-MM-DD HH:mm:ss'):this.start
@ -135,22 +136,6 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.time-ranger {
margin-bottom: 10px;
.start-time,
.end-time {
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn {
margin: 3px 0 0 5px;
// color: #3399ef;
}
}
.uni-input-placeholder { .uni-input-placeholder {
text-align: center; text-align: center;

View File

@ -6,7 +6,7 @@
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'> }" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
</u-navbar> </u-navbar>
<view class="" <view class=""
style="margin-top: 44px;;background-color: #f0f0f0;border-top: 1px solid #f0f0f0;overflow: auto;"> style="margin-top: 50px;;background-color: #f0f0f0;border-top: 1px solid #f0f0f0;overflow: auto;">
<view style="padding:0 10px;backgroundColor:#fff"> <view style="padding:0 10px;backgroundColor:#fff">
<view class="time-ranger"> <view class="time-ranger">
<view class="start-time"> <view class="start-time">
@ -22,7 +22,7 @@
</view> </view>
</view> </view>
</view> </view>
<view style="height:calc(100vh - 150px);overflow: auto;"> <view style="height:calc(100vh - 150px);overflow: auto;" v-if='list.length !== 0'>
<view class="" v-for="(item,index) in list" :key="index" <view class="" v-for="(item,index) in list" :key="index"
style="margin:10px;background-color: #fff;padding: 10px;"> style="margin:10px;background-color: #fff;padding: 10px;">
<view class="item"> <view class="item">
@ -53,6 +53,9 @@
</view> </view>
</view> </view>
</view> </view>
<view style="height:calc(100vh - 150px);display: flex;align-items: center;justify-content: center;background-color: #fff;" v-else>
<image src="../../../../static/empty.png" mode="" ></image>
</view>
</view> </view>
<u-datetime-picker :show="showTime" v-model="stm" mode="datetime" @confirm="showTime=false" <u-datetime-picker :show="showTime" v-model="stm" mode="datetime" @confirm="showTime=false"
@ -87,10 +90,10 @@
computed: { computed: {
startTime: function () { startTime: function () {
return this.stm ? moment(this.stm).format('YYYY-MM-DD HH:mm:ss') : this.start return this.stm ? moment(this.stm).format('YYYY-MM-DD') : this.start
}, },
endTime: function () { endTime: function () {
return this.etm ? moment(this.etm).format('YYYY-MM-DD HH:mm:ss') : this.end return this.etm ? moment(this.etm).format('YYYY-MM-DD') : this.end
} }
}, },
methods: { methods: {
@ -101,12 +104,12 @@
console.log(uni.getStorageSync('value')); console.log(uni.getStorageSync('value'));
let params = { let params = {
"pageSo": { "pageSo": {
"pageSize": 10, "pageSize": 999,
"pageNumber": 1 "pageNumber": 1
}, },
"dateTimeRangeSo": { "dateTimeRangeSo": {
start: this.stm ? moment(this.stm).format('YYYY-MM-DD HH:mm:ss') : '', start:this.stm?moment(this.stm).format('YYYY-MM-DD 00:00:00'):'',
end: this.etm ? moment(this.etm).format('YYYY-MM-DD HH:mm:ss') : '' end:this.etm?moment(this.etm).format('YYYY-MM-DD 23:59:59'):''
}, },
"isHandle": 1, "isHandle": 1,
"inspectUserId": uni.getStorageSync('value').userId "inspectUserId": uni.getStorageSync('value').userId
@ -134,23 +137,6 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.time-ranger {
margin-bottom: 10px;
.start-time,
.end-time {
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn {
margin: 3px 0 0 5px;
// color: #3399ef;
}
}
.myTitleStyle { .myTitleStyle {
font-size: 30px; font-size: 30px;
background-color: red; background-color: red;

View File

@ -4,18 +4,38 @@
fontSize:'18px' fontSize:'18px'
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'> }" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
</u-navbar> </u-navbar>
<view style="background-color: #f0f0f0;padding: 10px;overflow: auto;margin-top: 44px;"> <view style="background-color: #f0f0f0;padding: 10px;margin-top: 44px;">
<view class="" v-for="item in dataList" class="contentItemWx" @click="toDetail(item)"> <view style="padding:0 10px;backgroundColor:#fff">
<view class="contentItem"> <view class="time-ranger">
<view class="itemWxyhT"> <view class="start-time">
<text>{{type[item.maintainType]}}</text> <text>开始时间</text>
<uni-icons type="right"></uni-icons> <text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{startTime}}</text>
</view> </view>
<view class="itemWxyhB"> <view class="end-time">
<text>{{item.reportTime}}</text> <text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{endTime}}</text>
<view class="search-btn" @click="searchTm">
搜索
</view>
</view> </view>
</view> </view>
</view> </view>
<view class="" style="height:calc(100vh - 150px);overflow: auto;" v-if="dataList.length !== 0">
<view class="" v-for="item in dataList" class="contentItemWx" @click="toDetail(item)">
<view class="contentItem">
<view class="itemWxyhT">
<text>{{type[item.maintainType]}}</text>
<uni-icons type="right"></uni-icons>
</view>
<view class="itemWxyhB">
<text>{{item.reportTime}}</text>
</view>
</view>
</view>
</view>
<view style="height:calc(100vh - 150px);display: flex;align-items: center;justify-content: center;background-color: #fff;" v-else>
<image src="../../../../static/empty.png" mode="" ></image>
</view>
<!-- <view class="content"> <!-- <view class="content">
<formTop labelWidth="150rpx" /> <formTop labelWidth="150rpx" />
</view> --> </view> -->
@ -24,6 +44,10 @@
</view> --> </view> -->
</view> </view>
<!-- <button @click="submitForm">Submit</button> --> <!-- <button @click="submitForm">Submit</button> -->
<u-datetime-picker :show="showTime" v-model="stm" mode="datetime" @confirm="showTime=false"
@cancel="showTime=false"></u-datetime-picker>
<u-datetime-picker :show="showTime1" v-model="etm" mode="datetime" @confirm="showTime1=false"
@cancel="showTime1=false"></u-datetime-picker>
</view> </view>
</template> </template>
@ -43,6 +67,12 @@
reportTime: moment().format('YYYY-MM-DD HH:mm:ss'), reportTime: moment().format('YYYY-MM-DD HH:mm:ss'),
userId: '' userId: ''
}, },
showTime: false,
showTime1: false,
start: '请选择开始时间',
end: '请选择结束时间',
stm: '',
etm: '',
dataList: [], dataList: [],
type: { type: {
1: "溢洪道清障", 1: "溢洪道清障",
@ -57,6 +87,15 @@
onShow() { onShow() {
this.getList() this.getList()
}, },
computed: {
startTime: function () {
return this.stm ? moment(this.stm).format('YYYY-MM-DD') : this.start
},
endTime: function () {
return this.etm ? moment(this.etm).format('YYYY-MM-DD') : this.end
}
},
methods: { methods: {
toDetail(item){ toDetail(item){
uni.navigateTo({ uni.navigateTo({
@ -66,12 +105,12 @@
getList() { getList() {
let params = { let params = {
"pageSo": { "pageSo": {
"pageSize": 10, "pageSize": 999,
"pageNumber": 1 "pageNumber": 1
}, },
"dateTimeSo": { "dateTimeSo": {
"start": "2023-11-06 00:00:00", start:this.stm?moment(this.stm).format('YYYY-MM-DD 00:00:00'):'',
"end": "2024-11-06 00:00:00" end:this.etm?moment(this.etm).format('YYYY-MM-DD 23:59:59'):''
} }
} }
uni.$http.post('/gunshiApp/xyt/maintain/service/page', params).then(res => { uni.$http.post('/gunshiApp/xyt/maintain/service/page', params).then(res => {
@ -103,7 +142,7 @@
} }
</script> </script>
<style> <style lang="scss" scoped>
.content { .content {
/* margin: 10px; */ /* margin: 10px; */
padding: 10px; padding: 10px;
@ -131,5 +170,6 @@
background-color: rgba(255, 255, 255, 1); background-color: rgba(255, 255, 255, 1);
padding: 10px; padding: 10px;
margin-bottom: 10px; margin-bottom: 10px;
margin-top: 10px;
} }
</style> </style>

View File

@ -20,8 +20,8 @@
</view> </view>
</view> </view>
<view class="" style="style='overflow: auto;height:calc(100vh - 150px)'"> <view class="" style='overflow: auto;height:calc(100vh - 150px)' v-if="list.length !== 0">
<view class="" v-for="(item,i) in list" :key="i" style="background-color: #fff;margin-top:10px;"> <view class="" v-for="(item,i) in list" :key="i" style="background-color: #fff;margin-top:10px;padding: 10px;">
<view class="item"> <view class="item">
<!-- {{item.title}} --> <!-- {{item.title}} -->
<view class="title"> <view class="title">
@ -46,7 +46,9 @@
</view> </view>
</view> </view>
</view> </view>
<view style="height:calc(100vh - 150px);display: flex;align-items: center;justify-content: center;background-color: #fff;" v-else>
<image src="../../../../static/empty.png" mode="" ></image>
</view>
</view> </view>
<u-datetime-picker <u-datetime-picker
:show="showTime" :show="showTime"
@ -131,19 +133,6 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.time-ranger{
margin-bottom: 10px;
.start-time, .end-time{
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn{
margin: 3px 0 0 5px;
// color: #3399ef;
}
}
.myTitleStyle { .myTitleStyle {
font-size: 30px; font-size: 30px;
background-color: red; background-color: red;

View File

@ -135,7 +135,7 @@
margin-bottom: 2vh; margin-bottom: 2vh;
width: 95%; width: 95%;
height: 15vh; height: 15vh;
background-color: #fff; /* background-color: #fff; */
} }

View File

@ -144,21 +144,6 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.jcsj-box{ .jcsj-box{
.time-ranger{
// display: flex;
// align-items: center;
margin-bottom: 10px;
.start-time, .end-time{
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn{
margin: 3px 0 0 5px;
// color: #3399ef;
}
}
.jcsj-content{ .jcsj-content{
max-height:calc(100vh - 89px - 43px - 45px); max-height:calc(100vh - 89px - 43px - 45px);
overflow-y:auto overflow-y:auto

View File

@ -138,21 +138,6 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.jcsj-box{ .jcsj-box{
.time-ranger{
// display: flex;
// align-items: center;
margin-bottom: 10px;
.start-time, .end-time{
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn{
margin: 3px 0 0 5px;
// color: #3399ef;
}
}
.jcsj-content{ .jcsj-content{
max-height:100vh; max-height:100vh;
width: 100%; width: 100%;

View File

@ -1,8 +1,9 @@
<template> <template>
<view class="skinfo" @click="toDetail()"> <view class="skinfo">
<view class="title"> <view class="title">
<view class="left"> <view class="left">
<u-icon name="file-text" color="#f59d29" size="20"></u-icon> <u-icon name="file-text" color="#f59d29" size="20"></u-icon>
<text style="margin-left:5px">{{dataform.resName}}</text> <text style="margin-left:5px">{{dataform.resName}}</text>
</view> </view>
<view class="right"> <view class="right">
@ -11,23 +12,24 @@
</view> </view>
<view class="content"> <view class="content">
<view class="" style="display: flex;"> <view class="" style="display: flex;">
<image src="../../static/c1.png" mode="" style="width:30%;height: 120px;"></image> <!-- <image src="../../static/c1.png" mode="" style="width:30%;height: 120px;"></image> -->
<view class="listItem"> <image :src="showImg" style="width: 30%;height: 120px;margin: 5px;" @click="previewImage(showImg)"></image>
<view class="listItem" @click="toDetail()">
<view class="item-text" v-for="(v,k) of list" :key="k"> <view class="item-text" v-for="(v,k) of list" :key="k">
<text>{{v}}</text>: <text>{{v}}</text>:
<text>{{dataform[k]}}</text> <text>{{dataform[k]}}</text>
</view> </view>
</view> </view>
</view> </view>
<view class="bottom"> <view class="bottom" @click="toDetail()">
<view class="bottomItem"> <view class="bottomItem">
<view class="withd-2"> <view class="withd-2">
<text>生活供水m³/s</text>: <text>生活供水m³/s</text>:
<text>0</text> <text>{{shgs}}</text>
</view> </view>
<view class="withd-2"> <view class="withd-2">
<text>生态供水m³/s</text>: <text>生态供水m³/s</text>:
<text>2.1</text> <text>{{stgs}}</text>
</view> </view>
</view> </view>
</view> </view>
@ -45,10 +47,10 @@
"rz":'当前水位m', "rz":'当前水位m',
"today":'今日雨量mm', "today":'今日雨量mm',
'flLowLimLev':'汛限水位m', 'flLowLimLev':'汛限水位m',
"demo":'比汛期m', "afsltdz":'比汛期m',
'wcrstel':'堰顶高程m', 'wcrstel':'堰顶高程m',
'crestElev':'坝顶高程m', 'crestElev':'坝顶高程m',
"24h":'24h预报mm', "h24":'24h预报mm',
"yesterdayDrp":'昨日雨量mm', "yesterdayDrp":'昨日雨量mm',
'totCap':'总库容m³', 'totCap':'总库容m³',
"cap":'蓄水量万m³' "cap":'蓄水量万m³'
@ -66,15 +68,72 @@
// 8:15.4, // 8:15.4,
// 9:129.06, // 9:129.06,
// 10:75.34 // 10:75.34
} },
stgs:'',
shgs:'',
imageList:[],
baseUrl:'http://223.75.53.141:9102/test.by-lyf.tmp',
showImg:''
} }
}, },
mounted() { mounted() {
console.log('小玉潭水库222'); console.log('小玉潭水库222');
this.getList() this.getList()
this.getDrp()
}, },
methods:{ methods:{
previewImage(item){
uni.previewImage({
urls: [this.showImg],
longPressActions: {
itemList: ['发送给朋友', '保存图片', '收藏'],
success: function(data) {
console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
},
fail: function(err) {
console.log(err.errMsg);
}
}
});
},
getDrp(){
uni.$http.get('/gunshiApp/xyt/reservoir/water/detail?stcd=716164061&_=1731028927554').then(res=>{
this.dataform={...this.dataform,...res.data.data}
console.log(this.dataform,'drp yesterdayDrp');
})
uni.$http.post('/gunshiApp/xyt/reservoir/water/list').then(res=>{
console.log(res,'drp list');
this.dataform={...this.dataform,...res.data.data[0]}
console.log(this.dataform,'drp list');
})
uni.$http.post('/gunshiApp/xyt/stWaterRReal/list').then(res=>{
res.data.data.forEach(item=>{
if(item.sttp == 'QQ'){
this.stgs=item.q
}
if(item.sttp == 'PQ'){
this.shgs=item.q
}
})
})
uni.$http.post('/gunshiApp/xyt/resProjectImg/list',{resCode:42120250085}).then(res=>{
res.data.data.forEach(item=>{
if(item.projType == 1){
this.imageList = item.files.map((item,index)=>
{item.url = this.baseUrl + item.filePath
if(index == 0){
this.showImg = item.url
console.log(this.showImg,'this.showImg');
}
return item})
}
})
})
},
toDetail(){ toDetail(){
uni.navigateTo({ uni.navigateTo({
url:'/pages/skInfo/detail/index' url:'/pages/skInfo/detail/index'

View File

@ -5,7 +5,7 @@
fontSize:'18px' fontSize:'18px'
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'> }" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
</u-navbar> </u-navbar>
<view class="" style="margin-top: 44px;;background-color: #f0f0f0;border-top: 1px solid #f0f0f0;overflow: auto;"> <view class="" style="margin-top: 50px;;background-color: #f0f0f0;border-top: 1px solid #f0f0f0;overflow: auto;">
<view style="padding:0 10px;backgroundColor:#fff"> <view style="padding:0 10px;backgroundColor:#fff">
<view class="time-ranger"> <view class="time-ranger">
<view class="start-time"> <view class="start-time">
@ -21,39 +21,44 @@
</view> </view>
</view> </view>
</view> </view>
<view class="" v-for="item in list" style="margin: 10px;background-color: #fff;padding: 10px;"> <view class="" v-if="list.length !== 0">
<view class="item"> <view class="" v-for="item in list" style="margin: 10px;background-color: #fff;padding: 10px;" >
<!-- {{item.title}} --> <view class="item">
<view class="title"> <!-- {{item.title}} -->
{{item.taskTitle}} <view class="title">
</view> {{item.taskTitle}}
<view class="titleRight" @click="toDetail(item)"> </view>
<view class="border"> <view class="titleRight" @click="toDetail(item)">
{{isHandle==0?'已处理':'待处理'}} <view class="border">
{{isHandle==0?'已处理':'待处理'}}
</view>
<u-icon name="arrow-right" size="20"></u-icon>
</view> </view>
<u-icon name="arrow-right" size="20"></u-icon>
</view> </view>
</view> <view class="contentItem">
<view class="contentItem"> <view class="itemC">
<view class="itemC"> <text>巡检项</text>
<text>巡检项</text> <text>{{item.itemDesc}}</text>
<text>{{item.itemDesc}}</text> </view>
</view> <view class="itemC">
<view class="itemC"> <text>巡查人</text>
<text>巡查人</text> <text>{{item.inspectUserName}}</text>
<text>{{item.inspectUserName}}</text> </view>
</view> <view class="itemC">
<view class="itemC"> <text>巡查时间</text>
<text>巡查时间</text> <text>{{item.finishTime}}</text>
<text>{{item.finishTime}}</text> </view>
</view> </view>
</view> </view>
</view> </view>
<view style="height:calc(100vh - 150px);display: flex;align-items: center;justify-content: center;background-color: #fff;" v-else>
<image src="../../static/empty.png" mode="" ></image>
</view>
</view> </view>
<u-datetime-picker :show="showTime" v-model="stm" mode="datetime" @confirm="showTime=false" <u-datetime-picker :show="showTime" v-model="stm" mode="date" @confirm="showTime=false"
@cancel="showTime=false"></u-datetime-picker> @cancel="showTime=false"></u-datetime-picker>
<u-datetime-picker :show="showTime1" v-model="etm" mode="datetime" @confirm="showTime1=false" <u-datetime-picker :show="showTime1" v-model="etm" mode="date" @confirm="showTime1=false"
@cancel="showTime1=false"></u-datetime-picker> @cancel="showTime1=false"></u-datetime-picker>
</view> </view>
</template> </template>
@ -84,10 +89,10 @@
computed:{ computed:{
startTime:function (){ startTime:function (){
return this.stm?moment(this.stm).format('YYYY-MM-DD HH:mm:ss'):this.start return this.stm?moment(this.stm).format('YYYY-MM-DD'):this.start
}, },
endTime:function (){ endTime:function (){
return this.etm?moment(this.etm).format('YYYY-MM-DD HH:mm:ss'):this.end return this.etm?moment(this.etm).format('YYYY-MM-DD'):this.end
} }
}, },
methods: { methods: {
@ -98,15 +103,15 @@
console.log(uni.getStorageSync('value')); console.log(uni.getStorageSync('value'));
let params = { let params = {
"pageSo": { "pageSo": {
"pageSize": 10, "pageSize": 999,
"pageNumber": 1 "pageNumber": 1
}, },
"dateTimeRangeSo": { "dateTimeRangeSo": {
start:this.stm?moment(this.stm).format('YYYY-MM-DD HH:mm:ss'):'', start:this.stm?moment(this.stm).format('YYYY-MM-DD 00:00:00'):'',
end:this.etm?moment(this.etm).format('YYYY-MM-DD HH:mm:ss'):'' end:this.etm?moment(this.etm).format('YYYY-MM-DD 23:59:59'):''
}, },
"isHandle": 0, "isHandle": 0,
"inspectUserId": uni.getStorageSync('value').userId "handleUserId": uni.getStorageSync('value').userId
} }
uni.$http.post('/gunshiApp/xyt/inspect/detail/page', params).then(res => { uni.$http.post('/gunshiApp/xyt/inspect/detail/page', params).then(res => {
this.list=res.data.data.records this.list=res.data.data.records
@ -131,22 +136,6 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.time-ranger {
margin-bottom: 10px;
.start-time,
.end-time {
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn {
margin: 3px 0 0 5px;
// color: #3399ef;
}
}
.myTitleStyle { .myTitleStyle {
font-size: 30px; font-size: 30px;
background-color: red; background-color: red;

View File

@ -13,13 +13,13 @@
<u-form-item label="内容说明" prop="maintainContent" borderBottom labelPosition='top' required labelWidth="100px"> <u-form-item label="内容说明" prop="maintainContent" borderBottom labelPosition='top' required labelWidth="100px">
<u--textarea v-model="model1.maintainContent" placeholder="请输入内容"></u--textarea> <u--textarea v-model="model1.maintainContent" placeholder="请输入内容"></u--textarea>
</u-form-item> </u-form-item>
<u-form-item label="现场图片" prop="fileListpics" borderBottom labelPosition='top' labelWidth="100px"> <u-form-item label="现场图片" prop="pics" borderBottom labelPosition='top' labelWidth="100px" required>
<u-upload :fileList="fileListpics" @afterRead="afterRead" @delete="deletePic" name="pics" multiple <u-upload :fileList="model1.pics" @afterRead="(e)=>afterRead(e,'pics')" @delete="deletePic" name="pics" multiple
multiple accept='image' :maxCount="10"></u-upload> multiple accept='image' :maxCount="10"></u-upload>
</u-form-item> </u-form-item>
<u-form-item label="现场视频" prop="fileListvideos" borderBottom labelPosition='top' labelWidth="100px"> <u-form-item label="现场视频" prop="videos" borderBottom labelPosition='top' labelWidth="100px">
<u-upload :fileList="fileListvideos" @afterRead="afterRead" @delete="deletePic" name="videos" multiple <u-upload :fileList="model1.videos" @afterRead="(e)=>afterRead(e,'videos')" @delete="deletePic" name="videos" multiple
multiple accept='video' :maxCount="10"></u-upload> multiple accept='video' :maxCount="10"></u-upload>
</u-form-item> </u-form-item>
@ -80,6 +80,11 @@
message: '请选择管护类型', message: '请选择管护类型',
trigger: ['blur', 'change'] trigger: ['blur', 'change']
}, },
'fileListpics': {
required: true,
message: '请选择上传现场图片',
trigger: ['blur', 'change']
},
}, },
radio: '', radio: '',
switchVal: false switchVal: false
@ -91,13 +96,14 @@
this.$refs.uForm.validateField('maintainType') this.$refs.uForm.validateField('maintainType')
}, },
submit() { submit() {
this.$refs.uForm.validate().then(res => { this.$refs.uForm.validate().then(res => {
let params = { let params = {
...this.model1, ...this.model1,
maintainType: this.actions.find(item => item.name == this.model1.maintainType).value, maintainType: this.actions.find(item => item.name == this.model1.maintainType).value,
} }
console.log(params);
this.$emit('submitForm', params) this.$emit('submitForm', params)
}).catch(errors => { }).catch(errors => {
uni.$u.toast('校验失败') uni.$u.toast('校验失败')
@ -105,16 +111,15 @@
}, },
// //
deletePic(event) { deletePic(event) {
this[`fileList${event.name}`].splice(event.index, 1) this.model1[`${event.name}`].splice(event.index, 1)
}, },
// //
async afterRead(event) { async afterRead(event,key) {
// multiple true , file // multiple true , file
let lists = [].concat(event.file) let lists = [].concat(event.file)
console.log(`fileList${event.name}`,event); let fileListLen = this.model1[`${event.name}`].length
let fileListLen = this[`fileList${event.name}`].length
lists.map((item) => { lists.map((item) => {
this[`fileList${event.name}`].push({ this.model1[`${event.name}`].push({
...item, ...item,
status: 'uploading', status: 'uploading',
message: '上传中' message: '上传中'
@ -122,14 +127,17 @@
}) })
for (let i = 0; i < lists.length; i++) { for (let i = 0; i < lists.length; i++) {
const result = await this.uploadFilePromise(lists[i].url,event.name) const result = await this.uploadFilePromise(lists[i].url,event.name)
let item = this[`fileList${event.name}`][fileListLen] let item = this.model1[`${event.name}`][fileListLen]
this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, { console.log(this.model1[`${event.name}`],fileListLen,item);
this.model1[`${event.name}`].splice(fileListLen, 1, Object.assign(item, {
status: 'success', status: 'success',
message: '', message: '',
url: result ...result
})) }))
console.log(this.model1[`${event.name}`],this.model1);
fileListLen++ fileListLen++
} }
}, },
uploadFilePromise(url,name) { uploadFilePromise(url,name) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@ -146,9 +154,12 @@
// if(obj){ // if(obj){
// } // }
console.log(JSON.parse(res.data),this.model1,name); // console.log(JSON.parse(res.data),this.model1,name);
this.model1[name].push({fileId:JSON.parse(res.data).data.fileId}) console.log(JSON.parse(res.data).data);
resolve(res.data.data) let params = JSON.parse(res.data).data
params.url = 'http://223.75.53.141:9102/test.by-lyf.tmp' +JSON.parse(res.data).data.filePath
// this.model1[name].push({fileId:JSON.parse(res.data).data.fileId})
resolve(params)
}, 1000) }, 1000)
} }
}); });

View File

@ -52,10 +52,14 @@ export default {
console.log({...params,...this.formData}); console.log({...params,...this.formData});
uni.$http.post('/gunshiApp/xyt/maintain/service/insert',{...params,...this.formData}).then(res=>{ uni.$http.post('/gunshiApp/xyt/maintain/service/insert',{...params,...this.formData}).then(res=>{
if(res.data.code == 200){ if(res.data.code == 200){
// uni.$u.toast('')
uni.$u.toast('新增成功') uni.$u.toast('新增成功')
uni.switchTab({ setTimeout(()=>{
url: '/pages/homeIndex/index' uni.switchTab({
}); url: '/pages/homeIndex/index'
});
},500)
} }
}) })
}, },

View File

@ -1,132 +1,131 @@
<template> <template>
<view :style="{height:'100vh',overflow:'hidden'}"> <view :style="{height:'100vh',overflow:'hidden'}">
<u-status-bar></u-status-bar> <u-status-bar></u-status-bar>
<u-navbar title="巡查任务" :autoBack="true" :titleStyle="{ <u-navbar title="巡查任务1" :autoBack="true" :titleStyle="{
fontSize:'18px' fontSize:'18px'
}" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'> }" :height='44' :safeAreaInsetTop=true leftIconSize='20' leftIconColor='rgb(153, 153, 153)'>
</u-navbar> </u-navbar>
<view style="padding:0 10px; margin-top:50px"> <view style="padding:0 10px; margin-top:50px">
<view class="time-ranger" > <view class="time-ranger">
<view class="start-time"> <view class="start-time">
<text>开始时间</text> <text>开始时间</text>
<text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text> <text @click="showTime=true" style="margin-left:15%;color:#3399ef">{{stm}}</text>
</view> </view>
<view class="end-time"> <view class="end-time">
<text>结束时间</text> <text>结束时间</text>
<text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text> <text @click="showTime1=true" style="margin:0 15%;color:#3399ef">{{etm}}</text>
<view class="search-btn" @click="searchHandle"> <view class="search-btn" @click="searchHandle">
搜索 搜索
</view>
</view>
</view >
<view class="" style='overflow: auto;height:calc(100vh - 150px)'>
<view class="" v-for="(item,i) in list" :key="i" style="background-color: #fff;margin-top:10px;">
<view class="item">
<!-- {{item.title}} -->
<view class="title">
{{item.taskTitle}}
</view> </view>
<view class="titleRight" @click="toDetail(item)"> </view>
<view class="border">
{{status[item.status]}} </view>
<view class="" style='overflow: auto;height:calc(100vh - 150px)' v-if="list.length !== 0">
<view class="" v-for="(item,i) in list" :key="i" style="background-color: #fff;margin-top:10px;padding: 10px;">
<view class="item">
<!-- {{item.title}} -->
<view class="title">
{{item.taskTitle}}
</view>
<view class="titleRight" @click="toDetail(item)">
<view class="border">
{{status[item.status]}}
</view>
<u-icon name="arrow-right" size="20"></u-icon>
</view> </view>
<u-icon name="arrow-right" size="20"></u-icon>
</view> </view>
</view> <view class="contentItem">
<view class="contentItem"> <view class="itemC">
<view class="itemC"> <text>开始日期</text>
<text>开始日期</text> <text>{{item.startDate}}</text>
<text>{{item.startDate}}</text> </view>
</view> <view class="itemC">
<view class="itemC"> <text>结束日期</text>
<text>结束日期</text> <text>{{item.endDate}}</text>
<text>{{item.endDate}}</text> </view>
</view> </view>
</view> </view>
</view> </view>
<view
style="height:calc(100vh - 150px);display: flex;align-items: center;justify-content: center;background-color: #fff;"
v-else>
<image src="../../static/empty.png" mode=""></image>
</view> </view>
</view> </view>
<u-datetime-picker <u-datetime-picker :show="showTime" v-model="startTime" mode="date" @confirm="handleStartTime"
:show="showTime" @cancel="showTime=false"></u-datetime-picker>
v-model="startTime" <u-datetime-picker :show="showTime1" v-model="endTime" mode="date" @confirm="handleEndTime"
mode="datetime" @cancel="showTime1=false"></u-datetime-picker>
@confirm="handleStartTime"
@cancel="showTime=false"
></u-datetime-picker>
<u-datetime-picker
:show="showTime1"
v-model="endTime"
mode="datetime"
@confirm="handleEndTime"
@cancel="showTime1=false"
></u-datetime-picker>
</view> </view>
</template> </template>
<script> <script>
import moment from 'moment' import moment from 'moment'
const stm = moment().subtract(7, 'months').add(1, 'hour').set({minute: 0, second: 0}).format("YYYY-MM-DD"); const stm = moment().subtract(7, 'months').add(1, 'hour').set({
const etm = moment().add(1, 'hour').set({minute: 0, second: 0}).format("YYYY-MM-DD"); minute: 0,
second: 0
}).format("YYYY-MM-DD");
const etm = moment().add(1, 'hour').set({
minute: 0,
second: 0
}).format("YYYY-MM-DD");
export default { export default {
data() { data() {
return { return {
status:{ status: {
0:'开始任务', 0: '开始任务',
1:'继续任务', 1: '继续任务',
// 2:'' 2: '已完成'
}, },
startTime:stm, startTime: stm,
endTime:etm, endTime: etm,
stm, stm,
etm, etm,
showTime:false, showTime: false,
showTime1:false, showTime1: false,
list: [] list: []
}; };
}, },
mounted() { mounted() {
this.getData() this.getData()
}, },
methods: { methods: {
searchHandle(){ searchHandle() {
this.getData() this.getData()
}, },
handleStartTime(e){ handleStartTime(e) {
let time = moment(e.value).format("YYYY-MM-DD HH:mm") let time = moment(e.value).format("YYYY-MM-DD")
this.stm = time this.stm = time
this.showTime = false this.showTime = false
}, },
handleEndTime(e){ handleEndTime(e) {
let time = moment(e.value).format("YYYY-MM-DD HH:mm") let time = moment(e.value).format("YYYY-MM-DD")
this.etm = time; this.etm = time;
this.showTime1 = false this.showTime1 = false
}, },
async getData(){ async getData() {
const userId = uni.getStorageSync('value')?.userId const userId = uni.getStorageSync('value')?.userId
const params = { const params = {
dateRangeSo:{ dateRangeSo: {
start:moment(this.stm).format("YYYY-MM-DD"), start: moment(this.stm).format("YYYY-MM-DD"),
end:moment(this.etm).format("YYYY-MM-DD"), end: moment(this.etm).format("YYYY-MM-DD"),
}, },
inspectUserId:userId, inspectUserId: userId,
statusList:[0,1] statusList: [0, 1]
} }
try { try {
const res = await uni.$http.post("/gunshiApp/xyt/inspect/task/list",params) const res = await uni.$http.post("/gunshiApp/xyt/inspect/task/list", params)
this.list = [...res.data.data]; this.list = [...res.data.data];
} catch (error) { } catch (error) {
uni.$showMsg(); uni.$showMsg();
} }
}, },
toDetail(record){ toDetail(record) {
console.log(record); console.log(record);
uni.navigateTo({ uni.navigateTo({
url:`/pages/xcrw/detail/index?taskTitle=${record.taskTitle}&taskType=${record.taskType}&taskContent=${record.taskContent}&startDate=${record.startDate}&endDate=${record.endDate}&status=${record.status}&id=${record.id}` url: `/pages/xcrw/detail/index?taskTitle=${record.taskTitle}&taskType=${record.taskType}&taskContent=${record.taskContent}&startDate=${record.startDate}&endDate=${record.endDate}&status=${record.status}&id=${record.id}`
}) })
} }
}, },
@ -141,19 +140,7 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.time-ranger{
margin-bottom: 10px;
.start-time, .end-time{
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
.search-btn{
margin: 3px 0 0 5px;
// color: #3399ef;
}
}
.myTitleStyle { .myTitleStyle {
font-size: 30px; font-size: 30px;
background-color: red; background-color: red;
@ -185,6 +172,7 @@
.titleRight { .titleRight {
display: flex; display: flex;
.border { .border {
border-width: 0px; border-width: 0px;
background-color: rgba(236, 245, 255, 1); background-color: rgba(236, 245, 255, 1);
@ -202,8 +190,9 @@
} }
} }
.contentItem{
.itemC{ .contentItem {
.itemC {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
display: flex; display: flex;

View File

@ -152,17 +152,6 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.time-ranger {
margin-bottom: 10px;
.start-time,
.end-time {
display: flex;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #dfdfdf;
}
}
.tab-bar { .tab-bar {
display: flex; display: flex;

BIN
static/empty.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB