Merge branch 'bjxz-dev' of http://139.9.66.234:18023/dhp/zhgdyunapp into bjxz-dev

This commit is contained in:
Vce 2024-05-05 15:24:20 +08:00
commit 67f1108b34
18 changed files with 3090 additions and 158995 deletions

View File

@ -40,7 +40,7 @@
} else {
//
console.log('生产环境')
this.globalData.siteUrl = 'http://192.168.34.221:9111/' //
//this.globalData.siteUrl = 'http://192.168.34.221:9111/' //
// this.globalData.siteUrl = 'http://8.142.139.165:7080/' //
// this.globalData.siteUrl = 'http://182.90.224.147:100/' //
// this.globalData.siteUrl = 'http://124.71.178.44:8012/' //
@ -70,7 +70,7 @@
// this.globalData.siteUrl = 'http://101.43.164.214:45022/'//
// this.globalData.siteUrl = 'http://183.249.224.118:9000/'//
// this.globalData.siteUrl = 'http://jxj.zhgdyun.com:30250/#/'// H5
// this.globalData.siteUrl = 'http://47.93.215.234:9809/'//
this.globalData.siteUrl = 'http://47.93.215.234:9809/'//
// this.globalData.siteUrl = 'http://10.168.1.105:11111/'//
}
var systemInfo;

View File

@ -28,7 +28,15 @@
mounted() {
this.userInfo = JSON.parse(uni.getStorageSync('userInfo'))
if (this.userInfo.accountType == 5 || this.userInfo.accountType == 6 || this.userInfo.accountType == 10) {
this.tabList.push({
this.tabList.push(
{
appName: '消息',
moduleIcon2: 'footerIcon1',
moduleIcon: 'footerIcon2',
plugin: 'mssage',
appShow: 1
},
{
appName: '首页',
moduleIcon2: 'tabIcon-index',
moduleIcon: 'tabIcon-index-active',
@ -163,6 +171,11 @@
url: '/pages/projectEnd/projectIndex/projectIndex'
})
break;
case 'mssage':
uni.redirectTo({
url: '/pages/messageCenter/messageCenter'
})
break;
case 'deviceManage':
uni.redirectTo({
url: '../../pages/deviceManage/deviceManage'

View File

@ -36,11 +36,11 @@ if (process.env.NODE_ENV === 'development') {
// 开发环境
console.log('开发环境')
// Vue.prototype.url_config = 'http://47.93.215.234:9809/' // 鞍钢正式地址(弃用)
Vue.prototype.url_config = 'http://42.180.188.17:9809/' // 鞍钢正式地址
// Vue.prototype.url_config = 'http://42.180.188.17:9809/' // 鞍钢正式地址
// Vue.prototype.url_config = 'http://47.93.215.234:11211/' // 鞍钢测试地址
// Vue.prototype.url_config = 'http://182.90.224.237:51234/' //雄哥内网穿透地址
// Vue.prototype.url_config = 'http://jxj.zhgdyun.com:61212/' //杰哥内网穿透地址
// Vue.prototype.url_config = 'http://192.168.34.221:9111/' //郭圣雄本地
Vue.prototype.url_config = 'http://192.168.34.221:9111/' //郭圣雄本地
// Vue.prototype.url_config = 'http://192.168.34.155:19111/' //彭洁本地
// Vue.prototype.work_url = 'http://47.93.215.234:19997' // 工作流线上地址(弃用)
Vue.prototype.work_url = 'http://42.180.188.17:19997' // 工作流线上地址

View File

@ -51,6 +51,18 @@
"path": "pages/messageCenter/messageCenter",
"style": {}
},
{
"path": "pages/messageTask/messageList",
"style": {}
},
{
"path": "pages/messageTask/messageTask",
"style": {}
},
{
"path": "pages/messageTask/messageDetail",
"style": {}
},
{
"path": "pages/videoManage/playVideo",
"style": {}

View File

@ -10,8 +10,9 @@
智慧工地服务平台
</view>
<view class="btns">
<view class="user feedback" @click="goto('user')">我是用户</view>
<view class="supplier feedback black" @click="goto('supplier')">我是供应商</view>
<view class="user feedback" @click="goto('user')">用户登录</view>
<!-- <view class="user feedback" @click="goto('user')">我是用户</view> -->
<!-- <view class="supplier feedback black" @click="goto('supplier')">我是供应商</view> -->
</view>
</view>
<!-- <view class="bottomTitle" @click="showModal=true">

View File

@ -0,0 +1,147 @@
<template>
<view>
<headers :showBack="true">
<view class="headerName">
消息中心
</view>
</headers>
<view class="centerContent">
<view class="uni-form-item">
<input class="uni-input" name="searchName" v-model="searchName" @input="searchFile"
placeholder="请输入搜索内容" />
<!-- <uni-icons class="search-icon" type="search" @click="loadData"></uni-icons> -->
<button class="mini-btn" type="primary" size="mini" @click="loadData">搜索</button>
</view>
<view v-if="centerContentList.length > 0" class="centerContentBox">
<view v-for="(item,index) in centerContentList" :key="index" class="centerContent_item">
<view class="itemImgBox">
<image v-if="item.imageUrl" @click="previewImg(item.imageUrl)" :src="item.imageUrl" class="itemImg"></image>
</view>
<view class="itemBox">
<view class="title">标题{{ item.title }}</view>
<view class="content">内容{{ item.msg }}</view>
<view class="time">发送时间{{item.sendTime}}</view>
</view>
</view>
</view>
<view class="placeholderBox" v-else>
<image src="/static/noData.png" class="noDataImg"></image>
<view class="text">
暂无数据
</view>
</view>
</view>
</view>
</template>
<script>
import headers from '../../components/headers/headers.vue'
export default {
components: {
headers
},
data() {
return {
searchName: '',
centerContentList: ''
}
},
mounted() {
console.log(JSON.parse(uni.getStorageSync('userInfo')).userId)
this.loadData()
},
methods: {
previewImg(imgUrl){
console.log(imgUrl)
//urls
let imgurl=imgUrl
let imgArr=[]
imgArr[0] = imgurl
uni.previewImage({
current:0,
urls: imgArr
})
},
searchFile(e) {
this.searchName = e.detail.value
},
loadData() {
var json = {
accountId: JSON.parse(uni.getStorageSync('userInfo')).userId,
pageNo: 1,
title: this.searchName,
pageSize: 100
}
var that = this
this.sendRequest({
url: "xmgl/notice/list",
data: json,
method: "POST",
success(res) {
that.centerContentList = res.result.records
console.log('res.result.records',res.result.records)
}
})
},
}
}
</script>
<style lang="scss" scoped>
.centerContentBox{
border-top: 1px solid rgba(221, 221, 221, 0.8);
}
.centerContent_item{
border-bottom: 1px solid rgba(221, 221, 221, 0.8);
display: flex;
align-items: center;
min-height: 100px;
padding: 20rpx 40rpx;
font-size: 15px;
box-sizing: border-box;
.itemBox{
.content{
margin-top: 3px;
}
.time{
margin-top: 3px;
}
}
}
.itemImgBox{
margin-right: 10px;
.itemImg{
width: 60px;
height: 60px;
}
}
.uni-form-item {
position: relative;
.search-icon {
position: absolute;
top: 50%;
right: 50rpx;
transform: translateY(-50%);
}
}
.uni-input {
border-radius: 15px;
margin: 10px 10px;
background-color: #f2f2f2;
height: 30px;
line-height: 30px;
padding: 0 20px;
font-size: 14px;
width: 65%;
}
.mini-btn{
position: absolute;
right: 6px;
top: 0px;
border-radius: 15px;
height: 30px;
line-height: 30px;
}
</style>

View File

@ -1,10 +1,16 @@
<template>
<view>
<headers :showBack="true">
<headers :showBack="false">
<view class="headerName">
消息中心
</view>
</headers>
<view class="tab flex2">
<view class="tabType" @click="changeTab(0)" :class="checkedTab==0?'checkedTab':'noCheckTab'">全部</view>
<view class="tabType" @click="changeTab(2)" :class="checkedTab==2?'checkedTab':'noCheckTab'">质量</view>
<view class="tabType" @click="changeTab(3)" :class="checkedTab==3?'checkedTab':'noCheckTab'">安全</view>
<view class="tabType" @click="changeTab(4)" :class="checkedTab==4?'checkedTab':'noCheckTab'">AI</view>
</view>
<view class="centerContent">
<view class="uni-form-item">
<input class="uni-input" name="searchName" v-model="searchName" @input="searchFile"
@ -31,17 +37,21 @@
</view>
</view>
</view>
<footers :activeTab="'mssage'" v-if="accountType == 5 || accountType == 6 || accountType == 10"></footers>
</view>
</template>
<script>
import headers from '../../components/headers/headers.vue'
import footers from '../../components/footers/footers.vue'
export default {
components: {
headers
},
data() {
return {
checkedTab: 0,
accountType: 1,
searchName: '',
centerContentList: ''
}
@ -50,7 +60,15 @@
console.log(JSON.parse(uni.getStorageSync('userInfo')).userId)
this.loadData()
},
onLoad() {
var userInfo = JSON.parse(uni.getStorageSync('userInfo'))
this.accountType = userInfo.accountType
},
methods: {
//tab
changeTab(type) {
this.checkedTab = type;
},
previewImg(imgUrl){
console.log(imgUrl)
//urls
@ -88,6 +106,29 @@
</script>
<style lang="scss" scoped>
.flex2 {
display: flex;
align-items: center;
justify-content: space-between;
}
.tab {
width: 100%;
height: 45px;
text-align: center;
box-shadow: 0 0 10px rgba(194, 194, 194, 0.5);
.tabType {
width: 33%;
line-height: 43px;
border-bottom: 1px solid rgba(194, 194, 194, 0.2);
}
.checkedTab {
color: #4181FE;
border-bottom: 2px solid #4181FE;
}
.noCheckTab {
padding-bottom: 2px;
}
}
.centerContentBox{
border-top: 1px solid rgba(221, 221, 221, 0.8);
}

View File

@ -0,0 +1,64 @@
<template>
<view class="">
<headers :showBack="true">
<view class="headerName">
查看详情
</view>
</headers>
<view class="main">
<view class="head">
#梅大高速塌方货车司机夫妇喊停后车#车身长掉头时堵路摆手拦住后车
</view>
<view class="hint">
#梅大高速塌方货车司机大车堵路喊停来车#据广东梅州大埔县委宣传部通报截至5月1日15时事故造成20辆车陷落涉及54人其中24人死亡30人正在医院全力救治1日2时许在梅大高速驶向泉州的冷藏车司机王先生和妻子发现异常王先生回忆当时他们距离塌方路段约100多米看到几辆小车逆行驶来我赶紧降速打双闪有个大姐说前面道路塌陷起火了我尝试掉头冷藏车车身较长把路堵住了后车都纷纷减速了后来我把车回正和妻子下车摆手示意让后车停车
</view>
<image class="picture" src="../../static/titleBg.png" mode=""></image>
<view class="time">
2023-12-12 02:00:00
</view>
</view>
<view class="btn">
处置违规
</view>
</view>
</template>
<script>
</script>
<style lang="scss" scoped>
.main{
padding: 12px;
padding-bottom: 50px;
.head{
font-size: 18px;
font-weight: 700;
margin-bottom: 24px;
}
.hint{
font-size: 14px;
color: #666;
margin-bottom: 24px;
}
.picture{
width: 100%;
margin-bottom: 24px;
}
.time{
display: flex;
justify-content: flex-end;
}
}
.btn{
position: absolute;
bottom: 0;
width: 100%;
height: 48px;
background-color: #1E90FF;
color: #fff;
font-size: 16px;
font-weight: 700;
text-align: center;
line-height: 48px;
}
</style>

View File

@ -0,0 +1,166 @@
<template>
<view class="">
<headers :showBack="true">
<view class="headerName">
{{headersName}}
</view>
</headers>
<!--选项 -->
<view class="item">
<view class="itemInner" :class="tabIndex==0?'active':''" @click="tabIndex=0">
<view class="">
未读
</view>
</view>
<view class="itemInner" :class="tabIndex==1?'active':''" @click="tabIndex=1">
<view class="">
全部
</view>
</view>
</view>
<!--列表 -->
<view class="list" v-if="tabIndex==0">
<view class="list-item" v-for="item in 12" @click="toDetail">
<view class="content">
<view class="head">
您有一条安全隐患大项待整改您有一条安全隐患大项待整改
</view>
<view class="hint">
点击进入点击进入点击进入点击进入点击进入点击进入点击进入点击进入点击进入点击进入点击进入点击进入点击进入点击进入
</view>
</view>
<view class="box">
<view class="left">
发生时间2023-12-12
</view>
<view class="right">
查看更多
</view>
</view>
</view>
</view>
<view class="list" v-if="tabIndex==1">
<view class="list-item" v-for="item in 5" @click="toDetail">
<view class="content">
<view class="head">
您有一条安全隐患大项待整改您有一条安全隐患大项待整改
</view>
<view class="hint">
点击进入点击进入点击进入点击进入点击进入点击进入点击进入点击进入点击进入点击进入点击进入点击进入点击进入点击进入
</view>
</view>
<view class="box">
<view class="left">
发生时间2023-12-12
</view>
<view class="right">
查看更多
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import headers from "@/components/headers/headers.vue"
export default {
components: {
headers
},
data() {
return{
headersName:'',
tabIndex:0
}
},
onLoad(e){
console.log(e.name)
this.headersName = e.name
},
methods: {
toDetail(){
uni.navigateTo({
url: './messageDetail'
})
}
}
}
</script>
<style lang="scss" scoped>
.item {
display: flex;
box-shadow: 0px 0px 8px -3px rgba(0, 0, 0, 0.4);
margin-bottom: 20px;
.itemInner {
display: flex;
flex: 1;
align-items: center;
justify-content: center;
padding: 15px 0;
}
.active {
color: #1E90FF;
font-weight: bold;
border-bottom: 1px solid #1E90FF;
}
}
.list{
padding-bottom: 30px;
.list-item{
height: 92px;
box-sizing: border-box;
display: flex;
justify-content: space-between;
flex-direction: column;
margin: 6px 12px;
padding: 6px 12px;
border-radius: 6px;
box-shadow: 0px 0px 8px -3px rgba(0, 0, 0, 0.4);
.content{
.head{
font-size: 14px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-bottom: 2px;
}
.hint{
font-size: 10px;
color: #666;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
}
.box{
display: flex;
justify-content: space-between;
.left{
display: flex;
align-items: flex-end;
font-size: 10px;
color: #666;
}
.right{
display: flex;
align-items: flex-end;
height: 20px;
padding: 0 6px;
background: linear-gradient(to right, #c3c3c3, #fff);
border-radius: 12px;
color: #DA70D6;
box-sizing: border-box;
font-size: 14px;
line-height: 20px;
}
}
}
}
</style>

View File

@ -0,0 +1,133 @@
<template>
<view>
<headers :showBack="false" :themeType="'white'">
<view class="headerName">
消息
</view>
</headers>
<view class="operateBar" @click="toList('通知公告')">
<view class="left">
<view class="box">
<view class="num">
26
</view>
<image class="operateIcon" src="@/static/file.png" mode="widthFix"></image>
</view>
通知公告
</view>
<view class="right">
<view class="time">
2023-3-21
</view>
</view>
</view>
<view class="operateBar" @click="toList('任务代办')">
<view class="left">
<view class="box">
<view class="num">
26
</view>
<image class="operateIcon" src="@/static/file.png" mode="widthFix"></image>
</view>
任务代办
</view>
<view class="right">
<view class="time">
2023-3-21
</view>
</view>
</view>
<view class="operateBar" @click="toList('风险预警')">
<view class="left">
<view class="box">
<view class="num">
26
</view>
<image class="operateIcon" src="@/static/file.png" mode="widthFix"></image>
</view>
风险预警
</view>
<view class="right">
<view class="time">
2023-3-21
</view>
</view>
</view>
<footers :activeTab="'messageTask'"></footers>
</view>
</template>
<script>
import footers from "../../components/footers/footers.vue"
import headers from "@/components/headers/headers.vue"
export default {
components: {
footers,
headers
},
data() {
return{
accountType: 1,
}
},
methods: {
toList(name){
//
uni.navigateTo({
url: './messageList?name='+name
})
}
}
}
</script>
<style lang="scss" scoped>
.operateBar {
background-color: #FFFFFF;
font-size: 14px;
height: 58px;
display: flex;
margin: 0 15px;
padding: 12px 0;
justify-content: space-between;
border-bottom: 1px solid #f3f3f3;
.left {
display: flex;
align-items: center;
.box{
display: flex;
justify-content: center;
align-items: center;
position: relative;
width: 32px;
height: 32px;
margin-right: 10px;
.num{
position: absolute;
right: 0;
top: 0;
font-size: 8px;
padding: 0 4px;
background-color: red;
color: #fff;
border-radius: 12px;
}
.operateIcon {
width: 20px;
height: 20px;
}
}
}
.right{
display: flex;
.time{
font-size: 12px;
color: #c3c3c3;
}
}
}
</style>

View File

@ -268,7 +268,6 @@
console.log('userInfo===========', userInfo)
this.userInfo = userInfo
this.accountType = userInfo.accountType
this.accountType = userInfo.accountType
this.styType = userInfo.styleType
this.systemInfo = uni.getStorageSync('systemInfo')
this.getSystemLogoConfig()

View File

@ -26,7 +26,7 @@
</view>
<view class="content">
<view class="item" v-if="listData.length>0" v-for="(item,index) in listData" :key="index"
@click="goDetails(item.id)">
@click="goDetails(item)">
<view class="item_title" v-if="item.recordType == 1 ">
<image src="/static/zlwtIcon.png" style="width: 15px;height: 15px;margin-right: 5px;"></image>质量问题
</view>
@ -942,10 +942,13 @@
}
})
},
goDetails(id) {
uni.navigateTo({
url: './details?id=' + id + '&type=' + this.checkedTab
})
goDetails(obj) {
// uni.navigateTo({
// url: './details?id=' + id + '&type=' + this.checkedTab
// })
uni.navigateTo({
url: './details?id=' + obj.id + '&type=' + obj.status
})
}
}
}

View File

@ -26,7 +26,7 @@
</view>
<view class="content">
<view class="item" v-if="listData.length>0" v-for="(item,index) in listData" :key="index"
@click="goDetails(item.id)">
@click="goDetails(item)">
<view class="item_title" v-if="item.recordType == 1 ">
<image src="/static/zlwtIcon.png" style="width: 15px;height: 15px;margin-right: 5px;"></image>安全问题
</view>
@ -942,9 +942,12 @@
}
})
},
goDetails(id) {
goDetails(obj) {
// uni.navigateTo({
// url: './details?id=' + id + '&type=' + this.checkedTab
// })
uni.navigateTo({
url: './details?id=' + id + '&type=' + this.checkedTab
url: './details?id=' + obj.id + '&type=' + obj.status
})
}
}

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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long