对接首页的消息和待办
This commit is contained in:
@@ -0,0 +1,27 @@
|
|||||||
|
<template>
|
||||||
|
<div class="JNoData">
|
||||||
|
<a-icon class="icon" type="inbox"/>
|
||||||
|
<br/>
|
||||||
|
{{$t('noData')}}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'JNoData'
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.JNoData {;
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
text-align: center;
|
||||||
|
top: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
font-size: 34px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -27,6 +27,7 @@ import JSwitch from './JSwitch.vue'
|
|||||||
import JTime from './JTime.vue'
|
import JTime from './JTime.vue'
|
||||||
import JTreeTable from './JTreeTable.vue'
|
import JTreeTable from './JTreeTable.vue'
|
||||||
import JLoading from './JLoading.vue'
|
import JLoading from './JLoading.vue'
|
||||||
|
import JNoData from './JNoData.vue'
|
||||||
//jerobiz
|
//jerobiz
|
||||||
import JSelectDepart from '../jerobiz/JSelectDepart.vue'
|
import JSelectDepart from '../jerobiz/JSelectDepart.vue'
|
||||||
import JSelectMultiUser from '../jerobiz/JSelectMultiUser.vue'
|
import JSelectMultiUser from '../jerobiz/JSelectMultiUser.vue'
|
||||||
@@ -70,5 +71,6 @@ export default {
|
|||||||
Vue.component('JSelectMultiUser', JSelectMultiUser)
|
Vue.component('JSelectMultiUser', JSelectMultiUser)
|
||||||
Vue.component('JSelectRole', JSelectRole)
|
Vue.component('JSelectRole', JSelectRole)
|
||||||
Vue.component('JSelectUserByDep', JSelectUserByDep)
|
Vue.component('JSelectUserByDep', JSelectUserByDep)
|
||||||
|
Vue.component('JNoData', JNoData)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,37 +2,90 @@
|
|||||||
<div class="myList-box">
|
<div class="myList-box">
|
||||||
<div class="header-text">
|
<div class="header-text">
|
||||||
<div class="header-text-left">{{this.$t('myList')}}</div>
|
<div class="header-text-left">{{this.$t('myList')}}</div>
|
||||||
<div class="header-text-right">
|
<div class="header-text-right" @click="moreClick">
|
||||||
{{$t('more')}}
|
{{$t('more')}}
|
||||||
<img src="../../../assets/gengduo.png" alt="">
|
<img src="../../../assets/gengduo.png" alt="">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="myList-box-content">
|
<div class="myList-box-content" v-if="dataSource.length > 0">
|
||||||
<div class="myList-box-content-box" v-for="item in 4">
|
<div class="myList-box-content-box" v-for="(item,index) in dataSource" :key="index" @click="prcClick(item)">
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<span class="top-text">GB 7258 - 2017</span>
|
<span class="top-text" :title="item.prcNum">{{item.prcNum}}</span>
|
||||||
<span class="top-admin">握手流程</span>
|
<span class="top-admin" :title="prcTypeName[item.prcType]">{{prcTypeName[item.prcType]}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="button">
|
<div class="button">
|
||||||
2022-04-04 12:00:00
|
{{moment(item.createTime).format('YYYY-MM-DD HH:mm:ss')}}
|
||||||
</div>
|
</div>
|
||||||
<div class="with">
|
<div class="with">
|
||||||
{{$t('Pending')}}
|
{{$t('Pending')}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-else style="height: 300px;position: relative">
|
||||||
|
<JNoData/>
|
||||||
|
</div>
|
||||||
|
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
|
||||||
|
import { mapGetters } from 'vuex'
|
||||||
|
import moment from 'moment'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'myList'
|
name: 'myList',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
pageSize: 4,
|
||||||
|
pageNo: 1,
|
||||||
|
dataSource: [],
|
||||||
|
loading:false,
|
||||||
|
prcTypeName: {
|
||||||
|
1: this.$t('taskConfirmationProcess')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.queryProcess()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
...mapGetters(['userInfo']),
|
||||||
|
queryProcess() {
|
||||||
|
this.loading = true
|
||||||
|
let parmes = {}
|
||||||
|
parmes.current = this.pageNo
|
||||||
|
parmes.size = this.pageSize
|
||||||
|
parmes.userId = this.userInfo().userId
|
||||||
|
postAction('task/todoTaskList', parmes).then((res) => {
|
||||||
|
this.dataSource = res.list || []
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
moreClick() {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/ProcessCenter'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
prcClick(row) {
|
||||||
|
let index = row.taskIds.lastIndexOf(',')
|
||||||
|
row.taskIds = row.taskIds.slice(0, index)
|
||||||
|
if (row.prcType == '1') {
|
||||||
|
let newUrl = this.$router.resolve({
|
||||||
|
path: '/handshakeProcess',
|
||||||
|
query: row
|
||||||
|
})
|
||||||
|
window.open(newUrl.href, '_blank')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
.myList-box {
|
.myList-box {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
.header-text {
|
.header-text {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -50,6 +103,7 @@
|
|||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #9B9DA9;
|
color: #9B9DA9;
|
||||||
margin-top: 6px;
|
margin-top: 6px;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -66,7 +120,7 @@
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
margin-bottom: 14px;
|
margin-bottom: 14px;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
cursor: pointer;
|
||||||
.top {
|
.top {
|
||||||
.top-text {
|
.top-text {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
|||||||
@@ -2,20 +2,20 @@
|
|||||||
<div class="myNews-box">
|
<div class="myNews-box">
|
||||||
<div class="header-text">
|
<div class="header-text">
|
||||||
<div class="header-text-left">{{this.$t('myNews')}}</div>
|
<div class="header-text-left">{{this.$t('myNews')}}</div>
|
||||||
<div class="header-text-right">
|
<div class="header-text-right" @click="moreClick">
|
||||||
{{$t('more')}}
|
{{$t('more')}}
|
||||||
<img src="../../../assets/gengduo.png" alt="">
|
<img src="../../../assets/gengduo.png" alt="">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="myNews-box-content">
|
<div class="myNews-box-content" v-if="dataSource.length > 0">
|
||||||
<div class="myNews-box-content-box" v-for="item in 4">
|
<div class="myNews-box-content-box" v-for="(item,index) in dataSource" :key="index" @click="magClick(item)">
|
||||||
<img src="../../../assets/wdxx.png" alt="">
|
<img src="../../../assets/wdxx.png" alt="">
|
||||||
<div class="content-box">
|
<div class="content-box">
|
||||||
<div class="top">
|
<div class="top" :title="item.msgContent">
|
||||||
XX向您推送了标准 GB 7258 - 2017
|
{{item.msgContent}}
|
||||||
</div>
|
</div>
|
||||||
<div class="botton">
|
<div class="botton">
|
||||||
2022-04-04 12:00:00
|
{{item.sendTime}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
@@ -23,18 +23,70 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-else style="height: 300px;position: relative">
|
||||||
|
<JNoData/>
|
||||||
|
</div>
|
||||||
|
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { getAction, putAction, deleteAction } from '@/api/manage'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'myNews'
|
name: 'myNews',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
url: {
|
||||||
|
list: '/sys/sysAnnouncementSend/getMyAnnouncementSend',
|
||||||
|
readAllMsg: 'sys/sysAnnouncementSend/read'
|
||||||
|
},
|
||||||
|
loading: false,
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 4,
|
||||||
|
dataSource: []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getList() {
|
||||||
|
let query = {
|
||||||
|
pageNo: this.pageNo,
|
||||||
|
pageSize: this.pageSize
|
||||||
|
}
|
||||||
|
this.loading = true
|
||||||
|
getAction(this.url.list, query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.dataSource = res.result.records || []
|
||||||
|
this.loading = false
|
||||||
|
} else {
|
||||||
|
this.loading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
magClick(row) {
|
||||||
|
getAction(this.url.readAllMsg, { ids: row.id }).then((res) => {
|
||||||
|
})
|
||||||
|
this.$router.push({
|
||||||
|
path: '/system/MessageDetails',
|
||||||
|
query: row
|
||||||
|
})
|
||||||
|
},
|
||||||
|
moreClick() {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/isps/userAnnouncement'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
.myNews-box {
|
.myNews-box {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
.header-text {
|
.header-text {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -52,6 +104,7 @@
|
|||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #9B9DA9;
|
color: #9B9DA9;
|
||||||
margin-top: 6px;
|
margin-top: 6px;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,6 +118,7 @@
|
|||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
height: 68px;
|
height: 68px;
|
||||||
margin-bottom: 14px;
|
margin-bottom: 14px;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 36px;
|
width: 36px;
|
||||||
|
|||||||
Reference in New Issue
Block a user