Commit e6f9fb92 authored by 华国豪's avatar 华国豪 🙄

朋友圈

parent 1caed191
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
</div> </div>
</template> </template>
<script> <script>
import searchBox from '../team/CollectionSearchBox' import searchBox from '../tools/CollectionSearchBox'
import contentList from '../team/CollectionContentList' import contentList from './CollectionContentList'
export default { export default {
components: { components: {
searchBox, searchBox,
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
</div> </div>
</template> </template>
<script> <script>
import searchBox from '../team/CollectionSearchBox' import searchBox from '../tools/CollectionSearchBox'
import contentList from '../team/CloudDiskList' import contentList from './CloudDiskList'
export default { export default {
components: { components: {
searchBox, searchBox,
...@@ -28,7 +28,7 @@ export default { ...@@ -28,7 +28,7 @@ export default {
icon: 'icontupian3' icon: 'icontupian3'
}, },
{ {
id: 2, id: 4,
name: '文档', name: '文档',
icon: 'iconwendang2' icon: 'iconwendang2'
}, },
...@@ -39,7 +39,7 @@ export default { ...@@ -39,7 +39,7 @@ export default {
} }
, ,
{ {
id: 4, id: 2,
name: '音乐', name: '音乐',
icon: 'iconyinle1' icon: 'iconyinle1'
} }
......
...@@ -273,12 +273,11 @@ export default { ...@@ -273,12 +273,11 @@ export default {
0, 0,
lpath.lastIndexOf("\\") + 1 lpath.lastIndexOf("\\") + 1
); );
that.apipost('user_cloud_DelPackageFile',{Path: url},res=>{},err=>{})
// that.apipost('user_cloud_DelPackageFile',{Path: url},res=>{},err=>{})
}); });
}, },
downloadFun(msg){ downloadFun(msg){
event.preventDefault(); // event.preventDefault();
let dPath = msg.url; let dPath = msg.url;
let crt = this; let crt = this;
this.$electron.remote.dialog.showSaveDialog( this.$electron.remote.dialog.showSaveDialog(
...@@ -300,21 +299,36 @@ export default { ...@@ -300,21 +299,36 @@ export default {
if(this.picLyanzhengma.toLocaleUpperCase()==this.checkCode){ if(this.picLyanzhengma.toLocaleUpperCase()==this.checkCode){
this.yzmVisible=false this.yzmVisible=false
this.$message.info('文件压缩中,请等待..') this.$message.info('文件压缩中,请等待..')
this.apipost('user_cloud_GetPackageFile', { let url = this.domainManager().DomainUrl
FolderIdStr: this.fileList, this.$http({
FileIdStr: this.notFileList headers: {
}, res => { 'Content-Type': 'application/json'
if(res.data.resultCode == 1) { },
method: 'post',
url: url + '/api/file/GetPackageFile',
data: {
msg: {
"FolderIdStr": this.fileList,
"FileIdStr": this.notFileList
}
}
}).then(res => {
if (res.data.resultCode === 1) {
console.log(res.data)
let msg = { let msg = {
url: "http://reborn.oytour.com" + res.data.data, url: res.data.data,
name: this.list[this.clickIndex].FolderName, name: this.list[this.clickIndex].FolderName,
ext: 'zip' ext: 'zip'
} }
setTimeout(() => {
this.downloadFun(msg) this.downloadFun(msg)
}else{ }, 1000)
this.$message.error(res.data.message) } else {
this.$message.error('下载失败');
} }
}, err => {}) }).catch(err => {
})
}else{ }else{
this.$message.error('验证码错误!') this.$message.error('验证码错误!')
} }
...@@ -655,7 +669,7 @@ export default { ...@@ -655,7 +669,7 @@ export default {
} }
if(item.DataType == 2) { if(item.DataType == 2) {
this.WjId.push(item.Id) this.WjId.push(item.Id)
let fileType=item.FolderName.substring(item.FolderName.lastIndexOf('.')+1,item.FolderName.length).toLowerCase() let fileType=item.FolderName ? item.FolderName.substring(item.FolderName.lastIndexOf('.')+1,item.FolderName.length).toLowerCase() : 'jpg'
item.icons=this.loadFileICON(fileType) item.icons=this.loadFileICON(fileType)
} }
}) })
......
<template>
<div class="friendsEdit">
<div>
<el-input
type="textarea"
:rows="3"
placeholder="请输入内容"
v-model="content">
</el-input>
</div>
<div class="friendsEdit-ctrl">
<i class="iconfont icontupian2"></i>
<div class="">发表</div>
</div>
</div>
</template>
<script>
export default {
data(){
return{
content: ''
}
},mounted() {
},methods: {
}
}
</script>
<style>
.friendsEdit{
padding: 20px;
margin-bottom: 10px;
background-color: #fff;
}
.friendsEdit-ctrl{
display: flex;
justify-content: space-between;
padding: 10px 0;
}
.friendsEdit-ctrl i{
color: #BBBBBB;
cursor: pointer;
}
.friendsEdit-ctrl i:hover{
color: #47A5FF;
}
.friendsEdit-ctrl div{
cursor: pointer;
padding: 6px 16px;
background:linear-gradient(60deg,rgba(71,121,255,1),rgba(71,165,255,1));
color:rgba(255,254,254,1);
font-size: 12px;
}
</style>
\ No newline at end of file
<template>
<div class="friendsFynamic">
<friendsEdit v-if="editShow"/>
<ul v-loading="loading">
<friendsItem v-for="item in list" :item="item"/>
</ul>
</div>
</template>
<script>
import friendsEdit from './friendsEdit'
import friendsItem from './friendsItem'
export default {
components: {
friendsEdit,
friendsItem
},props: {
editShow: {
type: Boolean,
default: false
}
},
data(){
return{
loading: false,
list: [],
dynamicMsg: {
groupId: "",
pageIndex: 1,
pageSize: 3
},
}
},created () {
},mounted() {
let userInfo = JSON.parse(localStorage.user)
this.dynamicMsg.groupId = userInfo.RB_Group_id;
this.getList()
let _this = this
this.MsgBus.$on('get-list', function () {
_this.getList(1)
})
setTimeout(() => {
document
.getElementById("friendsQuanContent")
.addEventListener("scroll", function() {
if (this.scrollHeight - this.scrollTop === this.clientHeight) {
_this.dynamicMsg.pageIndex = _this.dynamicMsg.pageIndex + 1;
_this.getList();
}
});
}, 2000);
},methods: {
getList: function (params) {
this.loading = true
if (params) {
this.dynamicMsg.pageSize = this.dynamicMsg.pageSize * this.dynamicMsg.pageIndex
this.dynamicMsg.pageIndex = 1
}
this.apipost("dynamic_list", this.dynamicMsg, res => {
if (res.data.resultCode == 1) {
if (params) {
this.list = res.data.data.pageData
} else {
this.list = this.list.concat(
res.data.data.pageData
);
}
this.loading = false
}
},err => {});
}
}
}
</script>
<style>
.friendsFynamic{
background-color: #F1F1F1;
}
</style>
\ No newline at end of file
<template>
<li class="f-item">
<div class="f-item-top">
<div>
<img :src="items.crearteEmPhoto">
</div>
<div>
<p class="name">{{items.createEmName}}</p>
<p class="time">{{items.createTime | diaplayTime(items.createTime)}}</p>
</div>
</div>
<div class="f-item-content">
{{items.content | decodeURIComponent(items.content)}}
</div>
<div class="f-item-img" v-if="items.fileType === 1">
<div v-for="subItem in items.files" @click="showImg(subItem)" :style="`background-image: url(${subItem})`"></div>
</div>
<div class="dianzan">
<div class="left">
<div class="praise" v-if='items.likeList.length>0'>
<i class="iconfont icondianzan like-blue"></i>
<span v-for="(i, ix) in items.likeList" v-if="ix<6">{{i.empName}} <i v-if="ix !== items.likeList.length-1"></i></span>
<i v-if="items.likeList > 5"></i>觉得很赞
</div>
<i v-else style="color: #fff">.</i>
</div>
<div class="right">
<i class="iconfont icondianzan" :style="{color: items.hasLike ? '#4780FF' : ''}" @click="LikeArticleFun"></i>
<i class="iconfont iconpinglunbiao" :style="{color: msgBox ? '#4780FF' : ''}" @click="msgBox = !msgBox, reviewMsgId = 0"></i>
</div>
</div>
<div class="review" v-if="item.commentList.length>0">
<span class="reviewIcon">
<span class="sjx"></span>
</span>
<ul>
<li v-for="(i,index) in item.commentList" class="review-list-item">
<p v-if="i.byReplayEmpName==null">
<span>{{i.empName}}</span>{{i.content|decodeURIComponent(i.content)}}
<i class="iconfont iconpinglunbiao" @click="reviewMsgId=i.commentId, msgBox = true"></i>
<i v-show='userId==i.empId' class='el-icon-delete' @click="deleteComments(i.commentId)"></i>
</p>
<p v-if="i.byReplayEmpName!=null">
<span>{{i.empName}}</span>&nbsp;回复&nbsp; <span>{{i.byReplayEmpName}}</span>{{i.content|decodeURIComponent(i.content)}}
<i class="iconfont iconpinglunbiao" @click="reviewMsgId=i.commentId, msgBox = true"></i>
<i v-show='userId==i.empId' class='el-icon-delete' @click="deleteComments(i.commentId)"></i>
</p>
</li>
</ul>
</div>
<div v-if="msgBox" class="msgBox">
<el-input
type="textarea"
:rows="2"
placeholder="老铁,说点什么吧"
v-model="content">
</el-input>
<div class="send" @click="reviewArticle">发表</div>
</div>
</li>
</template>
<script>
export default {
components: {
},props: {
item: {
type: Object,
default: {}
}
},
filters : {
decodeURIComponent(val) {
return decodeURIComponent(val);
},
diaplayTime(data) {
var str = data;
// 将字符串转换成时间格式
var timePublish = new Date(str);
var timeNow = new Date();
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var month = day * 30;
var diffValue = timeNow - timePublish;
var diffMonth = diffValue / month;
var diffWeek = diffValue / (7 * day);
var diffDay = diffValue / day;
var diffHour = diffValue / hour;
var diffMinute = diffValue / minute;
var result = "";
if (diffValue < 0) {
} else if (diffMonth > 3) {
result = timePublish.getFullYear() + "-";
result += timePublish.getMonth() + "-";
result += timePublish.getDate();
} else if (diffMonth > 1) {
result = parseInt(diffMonth) + "月前";
} else if (diffWeek > 1) {
result = parseInt(diffWeek) + "周前";
} else if (diffDay > 1) {
result = parseInt(diffDay) + "天前";
} else if (diffHour > 1) {
result = parseInt(diffHour) + "小时前";
} else if (diffMinute > 1) {
result = parseInt(diffMinute) + "分钟前";
} else {
result = "刚刚";
}
return result;
}
},
data(){
return{
items: {},
content: "",
msgBox: false,
userId: '',
reviewMsgId: 0
}
}, watch: {
item(newVal, oldVal){
this.items = this.item
}
}, created () {
let userInfo = JSON.parse(localStorage.user)
this.userId = userInfo.EmployeeId;
this.items = this.item
},mounted() {
},methods: {
deleteComments(id) {
//从全部动态删除评论
this.apipost(
"user_dynamic_delete_comment",
{ commentId: id },
res => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
this.MsgBus.$emit('get-list')
} else {
this.$message.error(res.data.message);
}
},
err => {}
);
},
reviewArticle() {
//从全部动态回复
let msg = {};
msg.articleId = this.items.id;
msg.commentId = this.reviewMsgId;
msg.content = encodeURIComponent(this.content); //编码
this.apipost("user_dynamic_comment", msg, res => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
this.MsgBus.$emit('get-list')
this.msgBox = false;
this.reviewMsgId = 0;
}
},
err => {}
);
},
//喜欢
LikeArticleFun(){
let url = this.items.hasLike ? 'user_dynamic_cancel_like' : 'user_dynamic_like'
this.apipost(url, {articleId: this.items.id}, res => {
if (res.data.resultCode == 1) {
this.MsgBus.$emit('get-list')
} else {
this.$message.error(res.data.message);
}
}, err => {});
},
showImg: function (params) {
this.$electron.ipcRenderer.send("addPrevImgs", params);
this.$electron.ipcRenderer.send("openPreviwerImg", params);
}
}
}
</script>
<style>
.f-item{
padding: 20px;
background-color: #fff;
margin-bottom: 10px;
}
.f-item-top{
display: flex;
align-items: center;
height: 40px;
}
.f-item-top img{
width: 38px;
height: 38px;
margin-right: 10px;
}
.f-item-top .name,.f-item-top .time {
font-size:12px;
font-family:PingFang SC;
color: #000;
}
.f-item-top .time {
color:rgba(136,136,136,1);
}
.f-item-content{
margin-top: 10px;
line-height: 20px;
font-size: 14px;
color: #000;
}
.f-item-img{
display: flex;
flex-wrap: wrap;
padding: 10px 0 0 0;
}
.f-item-img div{
background-size: cover;
height: 175px;
width: 175px;
margin-bottom: 10px;
margin-right: 10px;
cursor: pointer;
}
.dianzan{
display: flex;
justify-content: space-between;
}
.dianzan .left{
font-size: 12px;
display: flex;
}
.dianzan .left i{
color: #4780FF;
}
.dianzan .right{
color: #9195A0;
}
.dianzan .right i{
cursor: pointer;
}
.dianzan .right .iconpinglunbiao:hover{
color: #4780FF;
}
.praise span{
color: #4780FF;
}
.msgBox{
position: relative;
margin-top: 10px;
}
.msgBox textarea{
padding:5px 75px 5px 5px;
border-radius:0;
}
.msgBox .send{
cursor: pointer;
padding: 3px 16px;
background:linear-gradient(60deg,rgba(71,121,255,1),rgba(71,165,255,1));
color:rgba(255,254,254,1);
font-size: 12px;
position:absolute;
right: 10px;
bottom: 5px;
}
.f-item .review{width: 100%; background: #C8D8DF; padding: 10px; position: relative;}
.f-item .review .reviewIcon{width: 18px; height: 12px; background: #73BFFF; position: absolute; top: 16px; border-radius: 4px;}
.f-item .review .reviewIcon .sjx{
position: absolute;
left: 5px;
top: 11px;
width: 0;
height: 0;
border-width: 4px;
border-style: solid;
border-color: #73BFFF transparent transparent transparent;
}
.f-item .review ul{padding-left: 25px;}
.f-item .review ul li{font-size: 12px; color: #333; line-height: 20px;margin: 2px 0;}
.f-item .review ul li p .iconfont{display:none; font-size: 12px; color: #666; cursor: pointer; margin-left: 5px;}
.f-item .review ul li:hover p .iconfont{display: inline-block; line-height: 18px;}
.f-item .review ul li span{color:#4C6C99;}
.review-list-item i{
display: none;
cursor:pointer;
}
.review-list-item:hover i{
display: inline-block;
color: #9195A0;
}
.review-list-item i:hover {
color: rgb(71, 128, 255);
}
</style>
\ No newline at end of file
<template>
<div>
<searchBox :list="list" :activeID="activeID" @changeType="changeType" :hideSearch="true" />
<friendsQuanContent :activeName="activeName" :activeID="activeID" />
</div>
</template>
<script>
import searchBox from '../tools/CollectionSearchBox'
import friendsQuanContent from './friendsQuanContent'
export default {
components: {
searchBox,
friendsQuanContent
},
data(){
return{
activeID: 0,
activeName: '圈友动态',
list: [
{
id: 0,
name: '圈友动态',
icon: 'iconkongjian-icon'
},
{
id: 1,
name: '与我相关',
icon: 'iconyuwoxiangguan'
},
{
id: 2,
name: '我的发布',
icon: 'iconicon-wodefabu'
}
],
}
},mounted() {
},methods: {
// 改变收藏类型
changeType: function (id){
this.showData = []
this.activeID = id;
this.activeName = this.list[id].name;
}
}
}
</script>
<style>
@import url("../../assets/css/icon.css");
</style>
\ No newline at end of file
<template>
<div class="friendsQuanContent" id="friendsQuanContent">
<div class="F-top">
<span>{{activeName}}</span>
<i class="iconfont iconzhongmingming" v-if="activeID === 0" @click="editShow = true"></i>
</div>
<div>
<friendsFynamic v-if="activeID === 0" :editShow="editShow"/>
<friendsRelatedme v-if="activeID === 1"/>
<friendsReleased v-if="activeID === 2"/>
</div>
</div>
</template>
<script>
import friendsFynamic from './friendsFynamic'
import friendsRelatedme from './friendsRelatedme'
import friendsReleased from './friendsReleased'
export default {
components: {
friendsFynamic,
friendsRelatedme,
friendsReleased
},
props:{
activeName: {
type: String,
default: ''
},
activeID: {
type: Number,
default: 0
}
},
data(){
return{
editShow: false,
}
},mounted() {
},methods: {
}
}
</script>
<style>
.friendsQuanContent *{
margin: 0;
padding: 0;
list-style: none;
}
.flex{
display: flex;
}
.text-row1{
overflow: hidden;
white-space: normal;
word-break: break-all;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
.friendsQuanContent{
position: absolute;
top: 0px;
left: 240px;
right: 0;
bottom: 0px;
cursor: default;
overflow: auto;
}
.F-top{
padding: 8px 20px;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 12px;
border-bottom: 1px solid rgba(221,221,221,1);
}
.F-top>span{
font-size: 16px;
font-weight: 400;
color: rgba(51,51,51,1);
}
.F-top>i{
cursor: pointer;
color: #bbb;
}
.F-top>i:hover{
color: #459bfb;
}
</style>
\ No newline at end of file
<template>
<div class="friendsRelatedme">
与我相关
</div>
</template>
<script>
export default {
components: {
},
data(){
return{
}
},mounted() {
},methods: {
}
}
</script>
<style>
</style>
\ No newline at end of file
<template>
<div class="friendsReleased">
<friendsEdit/>
</div>
</template>
<script>
import friendsEdit from './friendsEdit'
export default {
components: {
friendsEdit
},
data(){
return{
}
},mounted() {
},methods: {
}
}
</script>
<style>
</style>
\ No newline at end of file
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
<div class="contentarea"> <div class="contentarea">
<msg :user="user" v-show="chosenState.val==0"></msg> <msg :user="user" v-show="chosenState.val==0"></msg>
<mail v-show="chosenState.val==1"></mail> <mail v-show="chosenState.val==1"></mail>
<empty v-show="chosenState.val==2"></empty> <friendsQuan v-if="chosenState.val==2"></friendsQuan>
<Collection v-if="chosenState.val==3"></Collection> <Collection v-if="chosenState.val==3"></Collection>
<CloudDisk v-if="chosenState.val==4" /> <CloudDisk v-if="chosenState.val==4" />
</div> </div>
...@@ -87,8 +87,9 @@ import msg from "./msssage/index"; ...@@ -87,8 +87,9 @@ import msg from "./msssage/index";
import mail from "./team/maillist"; import mail from "./team/maillist";
import userCard from "./team/usercard"; import userCard from "./team/usercard";
import empty from "./tools/emptyPage"; import empty from "./tools/emptyPage";
import Collection from "./tools/Collection"; import Collection from "./Collection/Collection";
import CloudDisk from "./tools/CloudDisk"; import CloudDisk from "./cloudDisk/CloudDisk";
import friendsQuan from "./friends/friendsQuan";
import { setInterval } from "timers"; import { setInterval } from "timers";
export default { export default {
components: { components: {
...@@ -97,14 +98,15 @@ export default { ...@@ -97,14 +98,15 @@ export default {
userCard, userCard,
empty, empty,
Collection, Collection,
CloudDisk CloudDisk,
friendsQuan
}, },
data() { data() {
return { return {
user: {}, user: {},
chosenMenu: 4, chosenMenu: 4,
chosenState: { chosenState: {
val: 4, val: 0,
name: "云盘" name: "云盘"
}, },
atInfo: { atInfo: {
......
<template> <template>
<div class="CollectionSearchBox"> <div class="CollectionSearchBox">
<div class="search__session__box"> <div class="search__session__box" v-if="!hideSearch">
<div class="seach_ctr"> <div class="seach_ctr">
<span class="seach__item__icon"> <span class="seach__item__icon">
<i class="iconfont iconsearch"></i> <i class="iconfont iconsearch"></i>
...@@ -28,6 +28,10 @@ export default { ...@@ -28,6 +28,10 @@ export default {
activeID: { activeID: {
type: Number, type: Number,
default: 0 default: 0
},
hideSearch: {
type: Boolean,
default: false
} }
}, },
data(){ data(){
......
...@@ -71,12 +71,12 @@ export default new Router({ ...@@ -71,12 +71,12 @@ export default new Router({
{ {
path: '/CollectionContentList', path: '/CollectionContentList',
name: 'CollectionContentList', name: 'CollectionContentList',
component: require('@/components/team/CollectionContentList') component: require('@/components/Collection/CollectionContentList')
}, },
{ {
path: '/CollectionSearchBox', path: '/CollectionSearchBox',
name: 'CollectionSearchBox', name: 'CollectionSearchBox',
component: require('@/components/team/CollectionSearchBox') component: require('@/components/tools/CollectionSearchBox')
} }
] ]
}) })
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment