This commit is contained in:
parent
27090e845c
commit
5662a306b3
|
|
@ -10,7 +10,7 @@
|
||||||
<router-link to="/home">主页</router-link>
|
<router-link to="/home">主页</router-link>
|
||||||
<a v-on:click="gotoSelf()">
|
<a v-on:click="gotoSelf()">
|
||||||
<el-badge is-dot
|
<el-badge is-dot
|
||||||
:hidden='true'
|
:hidden='countStart'
|
||||||
class="item">个人中心
|
class="item">个人中心
|
||||||
</el-badge>
|
</el-badge>
|
||||||
</a>
|
</a>
|
||||||
|
|
@ -38,10 +38,11 @@
|
||||||
<script>
|
<script>
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import {mapState} from 'vuex'
|
import {mapState} from 'vuex'
|
||||||
|
import {getMessageCount} from '../api/message'
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
countStart:true,
|
||||||
loginState: false,
|
loginState: false,
|
||||||
userName: '',
|
userName: '',
|
||||||
identity:''
|
identity:''
|
||||||
|
|
@ -52,12 +53,30 @@
|
||||||
this.identity = sessionStorage.getItem('identity')
|
this.identity = sessionStorage.getItem('identity')
|
||||||
if (this.userName != null) {
|
if (this.userName != null) {
|
||||||
this.loginState = true
|
this.loginState = true
|
||||||
|
this.getMsgCount()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
toLogin () {
|
toLogin () {
|
||||||
this.$router.push({path: '/login'})
|
this.$router.push({path: '/login'})
|
||||||
},
|
},
|
||||||
|
getMsgCount(){
|
||||||
|
getMessageCount().then(res=>{
|
||||||
|
console.log(res)
|
||||||
|
if (res.data.success){
|
||||||
|
if (res.data.data>0){
|
||||||
|
this.$store.commit('saveUserInfo', {msgLen: res.data.data})
|
||||||
|
this.$notify({
|
||||||
|
title: '登录成功',
|
||||||
|
duration: 2000,
|
||||||
|
message:'尊敬的'+this.userName+'您有'+res.data.data+'条消息,请前往我的消息查看!',
|
||||||
|
type: 'info'
|
||||||
|
})
|
||||||
|
this.countStart = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
gotoSelf(){
|
gotoSelf(){
|
||||||
if (this.identity == 3){
|
if (this.identity == 3){
|
||||||
this.$router.push({path: '/person'})
|
this.$router.push({path: '/person'})
|
||||||
|
|
|
||||||
|
|
@ -6,22 +6,22 @@
|
||||||
:data="suggestList"
|
:data="suggestList"
|
||||||
style="width: 100%">
|
style="width: 100%">
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="submitTime"
|
|
||||||
label="提交时间"
|
label="提交时间"
|
||||||
width="180">
|
width="180">
|
||||||
|
<template slot-scope="scope" v-text="timeChange(scope.row.cCreateTime)"></template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="userName"
|
prop="cName"
|
||||||
label="提交人"
|
label="提交人"
|
||||||
width="180">
|
width="180">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="phoneNum"
|
prop="cPhone"
|
||||||
label="联系方式"
|
label="联系方式"
|
||||||
width="180">
|
width="180">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="suggestText"
|
prop="cContent"
|
||||||
label="内容">
|
label="内容">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
@ -32,6 +32,8 @@
|
||||||
<script>
|
<script>
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
import {getComplaint} from '../../api/complaint'
|
import {getComplaint} from '../../api/complaint'
|
||||||
|
import {formData} from '../../unit/formDate'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data(){
|
data(){
|
||||||
return{
|
return{
|
||||||
|
|
@ -42,25 +44,24 @@ export default {
|
||||||
this.getSuggestList();
|
this.getSuggestList();
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
|
timeChange(tiem){
|
||||||
|
return formData(time, 'yyyy-MM-dd hh:mm:ss')
|
||||||
|
},
|
||||||
getSuggestList(){
|
getSuggestList(){
|
||||||
// let loading = this.$loading({lock:true,text:'玩命加载中...'});
|
let loading = this.$loading({lock:true,text:'玩命加载中...'});
|
||||||
getComplaint().then(res=>{
|
getComplaint().then(res=>{
|
||||||
console.log(res)
|
let data = res.data
|
||||||
|
if (data.success) {
|
||||||
|
this.suggestList = data.data.list
|
||||||
|
loading.close()
|
||||||
|
}else {
|
||||||
|
this.$message({
|
||||||
|
type:'success',
|
||||||
|
title:data.msg
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
loading.close()
|
||||||
// axios.get(`/admin/suggestList`).then(response=>{
|
|
||||||
// let res = response.data;
|
|
||||||
// loading.close();
|
|
||||||
// if(res.status=='0'){
|
|
||||||
// this.suggestList = res.result;
|
|
||||||
// }else{
|
|
||||||
// console.log(res.msg);
|
|
||||||
// }
|
|
||||||
// }).catch(err=>{
|
|
||||||
// console.log(err);
|
|
||||||
// });
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,21 +6,21 @@
|
||||||
@change="handleReadMsg"
|
@change="handleReadMsg"
|
||||||
v-model="activeName" accordion>
|
v-model="activeName" accordion>
|
||||||
<el-collapse-item
|
<el-collapse-item
|
||||||
v-for='item in userMessage'
|
v-for='(item,index) in userMessage'
|
||||||
:key='item.title'
|
:key='index'
|
||||||
:class="{'messageIsRead':item.isRead}"
|
:class="{'messageIsRead':item.isRead ==2}"
|
||||||
:title="item.title"
|
:title="item.title"
|
||||||
:name="item.title">
|
:name="index">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<i class="el-icon-message"></i>
|
<i class="el-icon-message"></i>
|
||||||
{{ item.title }}
|
{{ item.title }}
|
||||||
( {{item.isRead ? '已读' : '未读'}} )
|
( {{ item.isRead == 2 ? '已读' : '未读' }} )
|
||||||
</template>
|
</template>
|
||||||
<p class="msg-body">
|
<p class="msg-body">
|
||||||
{{item.cont}} <br>
|
{{ item.content }} <br>
|
||||||
<span>(发送时间 : {{item.sendTime}})</span>
|
<span v-text="tiemChange(item.sendTime)"></span>
|
||||||
<el-button type="danger" size='mini'
|
<el-button type="danger" size='mini'
|
||||||
@click="handleDeleteMessage(item.title)"
|
@click="handleDeleteMessage(item.id)"
|
||||||
icon="el-icon-delete" circle></el-button>
|
icon="el-icon-delete" circle></el-button>
|
||||||
</p>
|
</p>
|
||||||
</el-collapse-item>
|
</el-collapse-item>
|
||||||
|
|
@ -30,11 +30,11 @@
|
||||||
<el-pagination v-if="showPagination"
|
<el-pagination v-if="showPagination"
|
||||||
background
|
background
|
||||||
@current-change="handleCurrentChange"
|
@current-change="handleCurrentChange"
|
||||||
:current-page="currentPage"
|
:current-page="selectDate.page"
|
||||||
:pager-count="5"
|
:pager-count="5"
|
||||||
:page-size="pageSize"
|
:page-size="selectDate.size"
|
||||||
layout="total, prev, pager, next, jumper"
|
layout="total, prev, pager, next, jumper"
|
||||||
:total="totalOrder">
|
:total="count">
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -45,101 +45,103 @@ import axios from 'axios'
|
||||||
//借助兄弟通信, 之前是为了跳转菜单,
|
//借助兄弟通信, 之前是为了跳转菜单,
|
||||||
//这里借助一下 用来更新消息红点数量,名字就懒得改了
|
//这里借助一下 用来更新消息红点数量,名字就懒得改了
|
||||||
import {gotoNewOrder} from './../../assets/js/gotoNewOrder'
|
import {gotoNewOrder} from './../../assets/js/gotoNewOrder'
|
||||||
|
import {getMessageList, readerMessage, removeMessage} from '../../api/message'
|
||||||
|
import {formData} from '../../unit/formDate'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
activeName: '',
|
activeName: '',
|
||||||
userMessage: [],
|
userMessage: [],
|
||||||
loading: null,
|
loading: null,
|
||||||
currentPage : 1,
|
selectDate: {
|
||||||
pageSize : 13,
|
page: 1,
|
||||||
totalOrder : 0,
|
size: 13,
|
||||||
|
},
|
||||||
|
count: 0,
|
||||||
showPagination: true,
|
showPagination: true,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
this.getMessage();
|
this.getMessage()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getMessage () {
|
getMessage () {
|
||||||
let loading = this.$loading({lock:true,text:'玩命加载中...'});
|
let loading = this.$loading({lock: true, text: '玩命加载中...'})
|
||||||
axios.get(`/users/userMessage?size=${this.pageSize}&page=${this.currentPage}`).then(response=>{
|
loading.close()
|
||||||
let res = response.data;
|
getMessageList(this.selectDate).then(res => {
|
||||||
loading.close();
|
let data = res.data
|
||||||
if(res.status=='0'){
|
if (data.success) {
|
||||||
this.userMessage = res.result.userMessage;
|
this.userMessage = data.data.list
|
||||||
this.totalOrder = Number.parseInt(res.result.totalOrder);
|
this.count = data.data.count
|
||||||
if(this.totalOrder <= this.pageSize){
|
// this.$store.commit('saveUserInfo', {msgLen: this.count})
|
||||||
this.showPagination = false
|
|
||||||
}
|
|
||||||
let notReadMsg= this.userMessage.filter(it=>!it.isRead);
|
|
||||||
if(!notReadMsg.length){
|
|
||||||
this.$store.commit("saveUserInfo",{msgLen:notReadMsg .length});
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'error',
|
type: 'error',
|
||||||
message:res.msg
|
message: data.msg
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
}).catch(err=>{
|
|
||||||
console.log(err);
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleReadMsg (data) {
|
handleReadMsg (data) {
|
||||||
let flag = this.userMessage.filter(it=>!it.isRead && it.title==data);
|
let vm = this
|
||||||
|
let flag = vm.userMessage.filter(item => item.isRead == 1 && item.id == vm.userMessage[data].id)
|
||||||
if (data != '' && flag.length) {
|
if (data != '' && flag.length) {
|
||||||
axios.get(`/users/readMessage?title=${data}`).then(response=>{
|
readerMessage(flag[0].id).then(res => {
|
||||||
let res = response.data;
|
let data = res.data
|
||||||
if(res.status=='0'){
|
if (data.success) {
|
||||||
this.getMessage();
|
let it = flag[0]
|
||||||
gotoNewOrder.$emit('readMessage');
|
it.isRead = 2
|
||||||
|
vm.userMessage[data] = it
|
||||||
|
gotoNewOrder.$emit('readMessage')
|
||||||
} else {
|
} else {
|
||||||
console.log(res.msg);
|
vm.$message({
|
||||||
|
type: 'error',
|
||||||
|
message: data.msg
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.log(err);
|
console.log(err)
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handleDeleteMessage(title){
|
tiemChange (tiem) {
|
||||||
|
return '(发送时间 : ' + formData(tiem, 'yyyy-MM-dd hh:mm:ss') + ')'
|
||||||
|
},
|
||||||
|
handleDeleteMessage (id) {
|
||||||
this.$confirm('此操作将永久删除该消息, 是否继续?',
|
this.$confirm('此操作将永久删除该消息, 是否继续?',
|
||||||
'提示', {
|
'提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'error'
|
type: 'error'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
axios.get(`/users/deleteMessage?title=${title}`).then(response=>{
|
removeMessage(id).then(res => {
|
||||||
let res = response.data;
|
let data = res.data
|
||||||
if(res.status=='0'){
|
if (data.success) {
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'success',
|
type: 'success',
|
||||||
message: '删除成功!'
|
message: data.msg
|
||||||
});
|
})
|
||||||
let mode = this.totalOrder % this.pageSize;
|
this.getMessage()
|
||||||
if(mode ===1){ //判断是否当页最后一条
|
|
||||||
this.currentPage --;
|
|
||||||
}
|
|
||||||
this.getMessage();
|
|
||||||
} else {
|
} else {
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'error',
|
type: 'error',
|
||||||
message:res.msg
|
message: data.msg
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
console.log(err);
|
console.log(err)
|
||||||
});
|
})
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.$message({
|
this.$message({
|
||||||
type: 'info',
|
type: 'info',
|
||||||
message: '已取消删除'
|
message: '已取消删除'
|
||||||
});
|
})
|
||||||
});
|
})
|
||||||
},
|
},
|
||||||
handleCurrentChange (val) {
|
handleCurrentChange (val) {
|
||||||
this.currentPage = val;
|
this.selectDate.page = val
|
||||||
this.getMessage();
|
this.getMessage()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -152,10 +154,12 @@ export default {
|
||||||
.el-collapse-item__header.is-active {
|
.el-collapse-item__header.is-active {
|
||||||
border-bottom-color: #ebeef5;
|
border-bottom-color: #ebeef5;
|
||||||
}
|
}
|
||||||
|
|
||||||
//下划线
|
//下划线
|
||||||
.el-collapse-item__header {
|
.el-collapse-item__header {
|
||||||
border-bottom: 1px solid #e2e2e2;
|
border-bottom: 1px solid #e2e2e2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 标题框
|
// 标题框
|
||||||
.el-collapse-item__header {
|
.el-collapse-item__header {
|
||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
|
|
@ -163,14 +167,17 @@ export default {
|
||||||
color: rgb(85, 192, 211); //未读消息标题颜色
|
color: rgb(85, 192, 211); //未读消息标题颜色
|
||||||
background-color: #e7f2fb;
|
background-color: #e7f2fb;
|
||||||
}
|
}
|
||||||
|
|
||||||
.messageIsRead .el-collapse-item__header {
|
.messageIsRead .el-collapse-item__header {
|
||||||
color: #999; //已读消息标题颜色
|
color: #999; //已读消息标题颜色
|
||||||
}
|
}
|
||||||
|
|
||||||
// 内容框
|
// 内容框
|
||||||
.el-collapse-item__content {
|
.el-collapse-item__content {
|
||||||
padding-left: 2rem;
|
padding-left: 2rem;
|
||||||
padding-top: 0.5rem;
|
padding-top: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.msg-body {
|
.msg-body {
|
||||||
letter-spacing: 0.1rem;
|
letter-spacing: 0.1rem;
|
||||||
padding-right: 2rem;
|
padding-right: 2rem;
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,9 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item class="completed-info-btn">
|
<el-form-item class="completed-info-btn">
|
||||||
<el-button type="primary"
|
<el-button type="primary"
|
||||||
@click="submitForm('personForm')">修改</el-button>
|
@click="submitForm()">修改
|
||||||
<el-button @click="resetForm('personForm')">重置</el-button>
|
</el-button>
|
||||||
|
<el-button @click="resetForm()">重置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -40,7 +41,6 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// import {gotoNewOrder} from './../../../assets/js/gotoNewOrder'
|
|
||||||
import {personInfoEdit} from '../../../api/personInfoAdd'
|
import {personInfoEdit} from '../../../api/personInfoAdd'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
|
||||||
|
|
@ -60,8 +60,7 @@ export default {
|
||||||
let regexBirthday = (rule, value, callback) => {
|
let regexBirthday = (rule, value, callback) => {
|
||||||
if (value === '') {
|
if (value === '') {
|
||||||
callback(new Error('请输入生日!'))
|
callback(new Error('请输入生日!'))
|
||||||
}
|
} else if (!/^(19|20)\d{2}-(1[0-2]|0?[1-9])-(0?[1-9]|[1-2][0-9]|3[0-1])$/.test(value)) {
|
||||||
else if (!/^(19|20)\d{2}-(1[0-2]|0?[1-9])-(0?[1-9]|[1-2][0-9]|3[0-1])$/.test(value)) {
|
|
||||||
callback(new Error('生日格式不正确!'))
|
callback(new Error('生日格式不正确!'))
|
||||||
} else {
|
} else {
|
||||||
callback()
|
callback()
|
||||||
|
|
@ -100,22 +99,23 @@ export default {
|
||||||
// this.personForm.phoneNum = this.$store.state.user.userInfo.userId
|
// this.personForm.phoneNum = this.$store.state.user.userInfo.userId
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
submitForm (formName) {
|
submitForm () {
|
||||||
// this.$refs[formName].validate((valid) => {
|
this.$refs.personForm.validate((valid) => {
|
||||||
// this.$refs[formName].validate((valid) => {
|
if (valid) {
|
||||||
|
|
||||||
let tip = this.personForm
|
let tip = this.personForm
|
||||||
console.log(tip)
|
|
||||||
let addInfo = {
|
let addInfo = {
|
||||||
username: this.personForm.userName,
|
username: this.personForm.userName,
|
||||||
email: this.personForm.personEmail,
|
email: this.personForm.personEmail,
|
||||||
sex: this.personForm.gender,
|
sex: this.personForm.gender,
|
||||||
birthday: this.personForm.birthday
|
birthday: this.personForm.birthday
|
||||||
}
|
}
|
||||||
|
console.log(tip)
|
||||||
if (tip) {
|
if (tip) {
|
||||||
console.log("0000000")
|
console.log('0000000')
|
||||||
personInfoEdit(this.addInfo).then((res)=>{
|
personInfoEdit(addInfo).then((res) => {
|
||||||
console.log(res)
|
console.log(res)
|
||||||
console.log("11111")
|
console.log('11111')
|
||||||
var data = res.data
|
var data = res.data
|
||||||
if (data.success) {
|
if (data.success) {
|
||||||
this.$notify({
|
this.$notify({
|
||||||
|
|
@ -134,47 +134,17 @@ export default {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
|
||||||
|
|
||||||
/*if (valid) {
|
|
||||||
let addInfo = {
|
|
||||||
userName: this.ruleForm.userName,
|
|
||||||
phoneNum: this.ruleForm.phoneNum,
|
|
||||||
gender: this.ruleForm.gender,
|
|
||||||
address: this.ruleForm.address
|
|
||||||
}
|
|
||||||
axios.post(`/users/addInformation`, addInfo).then(response => {
|
|
||||||
let res = response.data
|
|
||||||
if (res.status == '0') {
|
|
||||||
this.$notify({
|
|
||||||
title: '修改成功',
|
|
||||||
message: '恭喜你! 修改成功!',
|
|
||||||
duration: 2000,
|
|
||||||
type: 'success'
|
|
||||||
})
|
|
||||||
gotoNewOrder.$emit('goNewOrder', 'userInformation')
|
|
||||||
this.$router.push({path: 'userInformation'})
|
|
||||||
} else {
|
} else {
|
||||||
this.$notify({
|
|
||||||
title: '修改失败',
|
|
||||||
message: res.msg,
|
|
||||||
duration: 2000,
|
|
||||||
type: 'error'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}).catch(err => {
|
|
||||||
console.log(err)
|
|
||||||
})*/
|
|
||||||
else {
|
|
||||||
this.$message({
|
this.$message({
|
||||||
message: tip,
|
message: tip,
|
||||||
type: 'error'
|
type: 'error'
|
||||||
});
|
})
|
||||||
}
|
}
|
||||||
// })
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
resetForm (formName) {
|
resetForm () {
|
||||||
this.$refs[formName].resetFields()
|
this.$refs.personForm.resetFields()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -186,13 +156,16 @@ export default {
|
||||||
padding-top: 2rem;
|
padding-top: 2rem;
|
||||||
width: 40%;
|
width: 40%;
|
||||||
min-width: 20rem;
|
min-width: 20rem;
|
||||||
|
|
||||||
.el-form-item {
|
.el-form-item {
|
||||||
margin-bottom: 1.5rem;
|
margin-bottom: 1.5rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.completed-info-btn {
|
.completed-info-btn {
|
||||||
margin: 2rem;
|
margin: 2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (max-width: 768px) {
|
@media only screen and (max-width: 768px) {
|
||||||
.add-infor-cont {
|
.add-infor-cont {
|
||||||
width: 70%;
|
width: 70%;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue