Commit 2f4327a0 authored by 华国豪's avatar 华国豪 🙄

新增工作圈提成、视频;修复云盘文件预览问题、优化云盘搜索

parent eefb9d47
......@@ -42,6 +42,7 @@ global.DIALOG_MESSAGE = ''
global.CURRENT_TEAM_MEMBERS = {}
global.WORKUSERID = ''
global.CDSWMsg = {}
global.TICHENGOBJ = ''
let updateTimer
let loginWindow
let mainWindow
......@@ -53,6 +54,7 @@ let newMsgWindow
let scrollerhotWindows
let addNewUserWinodes
let workWinodes
let TiChengWindes
let CloudDiskShareWindes
let dialogWindows
let noticeWindows
......@@ -90,7 +92,7 @@ const appXmlPath = process.execPath.substring(0, process.execPath.lastIndexOf('\
const forwardUrl = process.env.NODE_ENV === 'development' ? `http://localhost:9080/#/forwardMsg` : `file://${__dirname}/index.html#/forwardMsg`
const workWin = process.env.NODE_ENV === 'development' ? `http://localhost:9080/#/workWin` : `file://${__dirname}/index.html#/workWin`
const CloudDiskShareWin = process.env.NODE_ENV === 'development' ? `http://localhost:9080/#/CloudDiskShareWin` : `file://${__dirname}/index.html#/CloudDiskShareWin`
const TiChengWin = process.env.NODE_ENV === 'development' ? `http://localhost:9080/#/TiChengWin` : `file://${__dirname}/index.html#/TiChengWin`
process.on('uncaughtException', error => {
console.log(error)
});
......@@ -833,6 +835,10 @@ ipc.on('createo-or-open-work', function(event, obj) {
global.WORKUSERID = obj
getWorkWin()
})
ipc.on('createo-or-open-ticheng', function (event, obj) {
global.TICHENGOBJ = obj
getTiChengWin()
})
ipc.on('createo-or-open-CloudDiskShareWin', function(event, obj) {
global.CDSWMsg = obj
getCloudDiskShareWin()
......@@ -1097,6 +1103,31 @@ let getWorkWin = function() {
workWinodes.focus()
}
}
let getTiChengWin = function() {
if (!TiChengWindes || TiChengWindes.isDestroyed()) {
TiChengWindes = new BrowserWindow({
transparent: systemPreferences.isAeroGlassEnabled(),
frame: false,
maximizable: false,
resizable: false,
show: false,
icon: windowIcon,
width: 700,
height: 800,
skipTaskbar: false,
alwaysOnTop: false,
webPreferences: { webSecurity: false }
})
TiChengWindes.loadURL(TiChengWin)
TiChengWindes.setMenu(null)
TiChengWindes.once('ready-to-show', () => {
TiChengWindes.show()
//addNewUserWinodes.webContents.openDevTools(true);
})
} else {
TiChengWindes.focus()
}
}
let getCloudDiskShareWin = function() {
if (!CloudDiskShareWindes || CloudDiskShareWindes.isDestroyed()) {
CloudDiskShareWindes = new BrowserWindow({
......
......@@ -36,6 +36,18 @@ export default {
}
return pwd;
},
Vue.prototype.compressImg = function (path, type, w, h) {
let url = this.domainManager().UploadUrl;
let poise = 'width=';
w = w ? w : ''
h = h ? h : ''
if (type === 'w') {
poise = 'width'
} else if (type === 'h') {
poise = 'height'
}
return path.split('?')[0] + '?width=' + w;
}
//上传文件到本地服务器
Vue.prototype.UploadSelfFileT = function (path, files, successCall, ocr) {
if (files && files.length > 0) {
......
This diff is collapsed.
......@@ -46,6 +46,7 @@ export default {
dataList: [],
showData: [],
loading: false,
searchKey: ''
}
},mounted() {
this.getDataList()
......
<template>
<div>
<searchBox :list="list" :activeID="activeID" @changeType="changeType" />
<contentList :showData="showData" :loading="loading" :activeName="activeName" :srearchKey="srearchKey" :FileType="FileType"/>
<searchBox :list="list" :activeID="activeID" @changeType="changeType"/>
<contentList :loading="loading" :activeName="activeName" :FileType="FileType"/>
</div>
</template>
<script>
......@@ -58,34 +58,16 @@ export default {
],
FileType: 0,
dataList: [],
showData: [],
loading: false,
srearchKey: '',
}
},mounted() {
this.getDataList()
let _this = this
this.MsgBus.$on('get-collection-list', function (){
_this.getDataList()
_this.activeID = 0
})
},methods: {
//获取数据
getDataList: function (){
this.loading = true
this.apipost("user_post_GetCollectionList", {}, res => {
if (res.data.resultCode === 1) {
this.showData = res.data.data
this.dataList = res.data.data
} else {
this.$message.error('操作失败')
}
this.loading = false
}, err => {})
},
// 改变收藏类型
changeType: function (id){
this.showData = []
this.activeID = id;
this.activeName = this.list[id].name;
this.FileType = id
......
......@@ -118,17 +118,9 @@ export default {
type: Number,
default: 0,
},
showData: {
type: Array,
default: []
},
activeName: {
type: String,
default: '全部文件'
},
srearchKey: {
type: String,
default: ''
}
},
watch: {
......@@ -214,6 +206,7 @@ export default {
folderIds: []
},
isDownloading: false,
srearchKey: ''
}
},mounted() {
let _this = this
......@@ -221,6 +214,10 @@ export default {
_this.toolShow = false
})
this.getList()
this.MsgBus.$on("searchFile", function (params) {
_this.srearchKey = params
_this.getList()
})
},methods: {
beginDownload(res, url) {
let userinfo = JSON.parse(localStorage.user)
......@@ -578,7 +575,7 @@ export default {
{
fileTypeNumber=x.type
}
})
})
switch (fileTypeNumber){
case 1:
this.list.forEach(item=>{
......@@ -595,15 +592,13 @@ export default {
this.$electron.ipcRenderer.send("openPreviwerVideo", obj.FilePath);
break;
case 3:
this.outerVisible4=true
this.dialogTitle4=obj.FolderName
this.moviePath=obj.FilePath
this.$electron.ipcRenderer.send("openPreviwerVideo", obj.FilePath);
break;
case 4:
window.open("https://view.officeapps.live.com/op/view.aspx?src="+obj.FilePath)
this.$electron.ipcRenderer.send("openPreviwerfile", obj.FilePath);
break;
case 5:
this.previewPDF(obj.FilePath)
this.$electron.ipcRenderer.send("openPreviwerfile", obj.FilePath);
break;
default:
this.$message.warning('该文件格式暂不支持预览,请下载用相关软件预览!')
......
<template>
<div class="tichengContent" @click="openWorkWin(items.createEmpId, items.id)">
<div class="TiChengScore">
<img v-if="items.SellGeneralContent.totalCommission>=2000&&items.SellGeneralContent.totalCommission<4000" src="../../assets/img/tc/A.png" alt=""/>
<img v-if="items.SellGeneralContent.totalCommission>=1000&&items.SellGeneralContent.totalCommission<2000" src="../../assets/img/tc/B.png" alt=""/>
<img v-if="items.SellGeneralContent.totalCommission<1000" src="../../assets/img/tc/C.png" alt=""/>
<img v-if="items.SellGeneralContent.totalCommission>=4000&&items.SellGeneralContent.totalCommission<8000" src="../../assets/img/tc/S.png" alt=""/>
<img style="width:40px;" v-if="items.SellGeneralContent.totalCommission>=8000&&items.SellGeneralContent.totalCommission<15000" src="../../assets/img/tc/SS.png" alt=""/>
<img style="width:65px;" v-if="items.SellGeneralContent.totalCommission>=15000" src="../../assets/img/tc/SSR.png" alt=""/>
</div>
<div class="Ticheng_Date">
<span>{{items.SellGeneralContent.Month}}</span><span class="Ticheng_Money"><span>¥</span>{{items.SellGeneralContent.totalCommission}}</span>
</div>
<div class="Ticheng_Text">
{{items.SellGeneralContent.ShareContent}}
</div>
</div>
</template>
<script>
export default {
props: {
items: {
type: Object,
default: {
SellGeneralContent: {
totalCommission: 0
}
}
}
},
data(){
return{
}
},mounted() {
},methods: {
openWorkWin(Uid, id){
//打开工作日志详情窗口
let msg = {
Uid: Uid,
id: id
}
this.$electron.ipcRenderer.send("createo-or-open-ticheng", msg);
},
}
}
</script>
<style>
.tichengContent{
width: 365px;
height:180px;
background:url(../../assets/img/tc/ticheng.png) no-repeat;
background-size:100% 100%;
position: relative;
cursor: pointer;
}
.Ticheng_Date{
position: absolute;
color:#CB504D;
top:75px;
width:100%;
text-align: center;
font-size:20px;
}
.Ticheng_Money{
margin-left:20px;
}
.Ticheng_Money span:first-child{
font-size:14px;
margin-right:5px;
}
.Ticheng_Text{
width:100%;
position: absolute;
padding:0 40px;
top:110px;
text-align: left;
word-break:break-all;
text-overflow:ellipsis;
display:-webkit-box;
height:40px;
-webkit-box-orient:vertical!important;
-webkit-line-clamp:2;
overflow:hidden;
color:#4E4E4C;
font-size:14px;
}
.Ticheng_Address{
padding:15px 0 25px 0!important;
}
.TiChengScore{
position: absolute;
left:2rem;
top:1.5rem;
}
.TiChengScore img {
width:30px;
}
</style>
\ No newline at end of file
<template>
<div class="TiChengWin">
<div class="header__opera">
<span class="opera__item close" @click="close">
<i class="iconfont iconguanbi"></i>
</span>
</div>
<commissonBill v-if="isShowBill && loading" @changeComponent="changeComponent" :articleId='articleId' :userId='createEmpId' ref="myBill"></commissonBill>
<commissionDetail v-else-if="loading && !isShowBill" @changeComponent="changeComponent" :userId='createEmpId' :PeriodsId="PeriodsId" ref="myBillDetail"></commissionDetail>
</div>
</template>
<script>
import commissonBill from './commissonBill'
import commissionDetail from './commissionDetail'
export default {
components: {
commissonBill,
commissionDetail
},props: {
editShow: {
type: Boolean,
default: false
}
},
data(){
return{
isShowBill: true,
articleId: 0,
createEmpId: 0,
PeriodsId: 0,
loading: false
}
},mounted() {
console.log(this.$electron.remote.getGlobal("TICHENGOBJ"))
this.createEmpId = this.$electron.remote.getGlobal("TICHENGOBJ").Uid
this.articleId = this.$electron.remote.getGlobal("TICHENGOBJ").id
this.loading = true
},methods: {
close() {
this.$electron.remote.getCurrentWindow().close();
},
//切换组件
changeComponent(PeriodsId){
if (PeriodsId) {
this.PeriodsId = PeriodsId
}
this.isShowBill = !this.isShowBill;
},
}
}
</script>
<style>
.TiChengWin{
overflow: auto;
height: 100%;
}
.TiChengWin .header__opera {
position: absolute;
top: 0px;
right: 0px;
text-align: right;
height: 24px !important;
}
.TiChengWin .header__opera .opera__item {
padding: 2px 5px;
color: #aaa;
cursor: pointer;
display: inline-block;
-webkit-app-region: no-drag !important;
}
.TiChengWin .header__opera .opera__item i {
font-size: 14px;
}
.TiChengWin .header__opera .close {
color: #f1f1f1;
background: #eb3b5a;
}
</style>
\ No newline at end of file
<style>
.cd_content{
width:100%;
min-height:600px;
font-family: "fangzheng";
background:url(../../assets/img/tc/bg.png);
overflow: auto;
}
.cd_content .cd_tableContent{
padding:30px 30px 0 30px;
width: 85%;
margin:auto;
min-height: 10rem;
border-left:2px solid #BDAC94;
border-right:2px solid #BDAC94;
background-color: #fff;
}
.cd_content .cd_table{
width:100%;
text-align: center;
font-family: "fangzheng";
}
.cd_content .cd_table th{
border-top:1px dashed #121212;
border-bottom:1px dashed #121212;
height:4rem;
font-size:1.5rem;
font-family: "fangzheng"!important;
}
.cd_content .cd_table td{
height:1.5rem;
font-size:1.2rem;
color:#121212;
padding:0 1rem 1rem 1rem;
}
.cd_table tr:nth-child(2) td{
padding:1rem;
}
.cd_table tr:last-child td{
border-bottom:1px dashed #121212;
}
.cd_content .cd_Zonge{
display: flex;
justify-content: space-between;
padding: 25px;
font-size:1.5rem;
border-bottom:1px dashed #121212;
}
.cd_content .cd_GoBackDiv{
width:100%;
height:3rem;
text-align: center;
background:url(../../assets/img/tc/detail.png) no-repeat;
background-size:cover;
background-position: 0 0;
}
.cd_GoBackDiv img{
cursor: pointer;
transform: rotate(180deg);
position: relative;
top:2.5rem;
}
.cd_content .cd_Top{
width:100%;
background:url(../../assets/img/tc/detail.png) no-repeat;
height:83px;
background-size:cover;
background-position: 0 10px;
}
.cd_content .cd_Bottom{
width:100%;
background:url(../../assets/img/tc/detail.png) no-repeat;
height:80px;
background-size:cover;
background-position: 0 -1030px;
}
</style>
<template>
<div class="cd_content">
<div class="cd_GoBackDiv">
<img @click="changeBill" src="../../assets/img/tc/arrowDown.png" alt=""/>
</div>
<div class="cd_tableContent">
<table class="cd_table">
<tr>
<th style="width:40%;text-align:left;padding-left:2rem;">订单号</th>
<th style="width:20%">人数</th>
<th style="width:40%;text-align:right;padding-right:2rem;">金额</th>
</tr>
<tr v-for="item in dataList.list">
<td style="text-align:left;">{{item.OrderId}}</td>
<td>{{item.PeopleCount}}</td>
<td style="text-align:right;">{{item.CommissionMoney|priceFormat(item.CommissionMoney)}}</td>
</tr>
</table>
<div class="cd_Zonge">
<div class="cd_item">本月提成</div>
<div class="cd_item">{{dataList.totalCommissionMoney|priceFormat(dataList.totalCommissionMoney)}}</div>
</div>
<div class="cd_Zonge" style="border-bottom:none;padding:25px 25px 0 25px">
<div class="cd_item">
<img style='vertical-align:middle;margin-right:10px;' src="../../assets/img/tc/ewai.png"/>额外奖励</div>
<div class="cd_item" style="color:#4DB220">{{dataList.totalOtherMoney|priceFormat(dataList.totalOtherMoney)}}</div>
</div>
<div class="cd_Zonge">
<div class="cd_item">
<img style='vertical-align:middle;margin-right:10px;' src="../../assets/img/tc/jl.png"/>额外扣除</div>
<div class="cd_item" style="color:#B22020">-{{dataList.totalBackMoney|priceFormat(dataList.totalBackMoney)}}</div>
</div>
<div class="cd_Zonge" style="border-bottom:none;color:#000;">
<div class="cd_item">总提成</div>
<div class="cd_item">{{totalMoney|priceFormat(totalMoney)}}</div>
</div>
</div>
<div class="cd_Bottom"></div>
</div>
</template>
<script>
export default {
props:['userId', 'PeriodsId'],
data() {
return {
dataList:{},
//计算总提成
totalMoney:0
};
},
components: {
},
methods: {
getData(){
let msg = {
id: this.PeriodsId,
userId: this.userId
}
this.apipost("customerIndex_post_GetSellComissionDetails",msg,res => {
if (res.data.resultCode == 1) {
this.dataList=res.data.data;
this.totalMoney = parseFloat(this.dataList.totalCommissionMoney)+parseFloat(this.dataList.totalOtherMoney)-parseFloat(this.dataList.totalBackMoney)
}else{
this.$message.error(res.data.message);
}
}
);
},
changeBill(){
this.$emit('changeComponent');
}
},
filters: {
priceFormat (value) {
if (value == null) {
return 0.0
}
let nStr = value.toFixed(2)
nStr += ''
let x = nStr.split('.')
let x1 = x[0]
let x2 = x.length > 1 ? '.' + x[1] : ''
var rgx = /(\d+)(\d{3})/
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2')
}
return x1 + x2
}
},
mounted() {
this.getData()
}
};
</script>
<style>
.cbContent{
width:100%;
height:1000px;
background:url(../../assets/img/tc/tcbg.png) no-repeat;
background-size:100% 100%;
position: relative;
}
.cb_Title{
position: absolute;
top:4.5rem;
width:100%;
text-align: center;
font-family: "fangzheng"!important;
}
.cb_year{
color:#4E4E4C;
font-size:2.5rem;
font-weight: bold;
margin-right:1rem;
}
.cb_month{
font-size:2.5rem;
color:#257BF1;
margin:0 1rem;
font-weight: bold;
}
.cb_PeoInfo{
position: absolute;
top:11rem;
width:100%;
}
.cb_Name{
width:100%;
text-align: center;
color:#FBA838;
font-size:3.5rem;
font-family: "fangzheng"!important;
}
.cb_PeoInfo table{
width:100%;
text-align: center;
padding:0 5rem;
margin-top:2rem;
}
.cb_PeoInfo table td{
height:4rem;
}
.cb_benyue{
color:#257BF1;
font-size:2.5rem;
font-weight: bold;
font-family: "fangzheng";
}
.cb_benyue span:first-child{
font-size:1.5rem;
}
.cb_Tleft{
width:40%;
text-align: left;
font-size:30px;
font-weight: bold;
font-family: "fangzheng";
}
.cb_Tright{
width:60%;
text-align: right;
}
.cb_geren{
position: absolute;
top:25rem;
padding:0 5rem;
width:100%;
font-family: "fangzheng";
}
.cb_geren div{
margin-top:1rem;
color:#010101;
font-size:1.7rem;
padding:0 30px;
line-height: 3rem;
font-family: "PingFangSC-Fine";
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
font-family: "fangzheng";
}
.cb_Arrow{
position: absolute;
bottom:240px;
width:100%;
cursor: pointer;
text-align: center;
}
.cb_Arrow div:last-child{
color:#C4A873;
font-size:1.5rem;
font-family: "fangzheng";
}
.Cb_titleSpan{
font-size:2.5rem;
font-weight:bold;
}
</style>
<template>
<div class="cbContent" v-if="isShow">
<div class="cb_Title">
<span class="cb_year">{{dataList.SellGeneralContent.Year}}</span>
<span class="Cb_titleSpan">
</span>
<span class="cb_month">{{dataList.SellGeneralContent.Month}}</span>
<span class="Cb_titleSpan">
月提成报告
</span>
</div>
<div class="cb_PeoInfo">
<div class="cb_Name">{{dataList.UserName}}</div>
<table>
<tr>
<td class="cb_Tleft">
本月提成
</td>
<td class="cb_Tright">
<span class="cb_benyue"><span>¥</span>{{dataList.SellGeneralContent.totalCommission}}</span>
</td>
</tr>
<tr style="display:none;">
<td class="cb_Tleft">
</td>
<td class="cb_Tright">
<span class="cb_benyue"><span>¥</span>12523268.00</span>
</td>
</tr>
</table>
</div>
<div class="cb_geren">
<span style="font-size:30px;font-weight: bold;">
个人宣言
</span>
<div>
{{dataList.SellGeneralContent.ShareContent}}
</div>
</div>
<div class="cb_Arrow" @click="changeBill">
<div><img src="../../assets/img/tc/arrowDown.png" alt=""/></div>
<div>查看明细</div>
</div>
</div>
</template>
<script>
export default {
props:['articleId','userId'],
data() {
return {
dataList:{},
isShow:false
};
},
components: {
},
methods: {
//获取数据
getDateInfo(){
let msg = {
articleId:this.articleId,
userId:this.userId
}
this.apipost("customerIndex_post_GetSellComissionGeneralSure",msg,res => {
if (res.data.resultCode == 1) {
this.dataList=res.data.data;
this.isShow=true;
}else{
this.Error(res.data.message);
}
}
);
},
changeBill(){
this.$emit('changeComponent', this.dataList.PeriodsId);
}
},
mounted() {
this.getDateInfo()
}
};
</script>
......@@ -3,8 +3,7 @@
<friendsEdit v-if="editShow"/>
<ul v-loading="loading">
<template v-for="item in list" >
<friendsItem v-if="item.fileType!==3" :item="item"/>
<friendsItemZD v-else :item="item"/>
<friendsItem :item="item"/>
</template>
</ul>
</div>
......@@ -12,12 +11,10 @@
<script>
import friendsEdit from './friendsEdit'
import friendsItem from './friendsItem'
import friendsItemZD from './friendsItemZD'
export default {
components: {
friendsEdit,
friendsItem,
friendsItemZD
friendsItem
},props: {
editShow: {
type: Boolean,
......@@ -31,7 +28,7 @@ export default {
dynamicMsg: {
groupId: "",
pageIndex: 1,
pageSize: 6
pageSize: 10
},
}
},mounted() {
......@@ -40,7 +37,6 @@ export default {
this.getList()
let _this = this
this.MsgBus.$on('get-list', function () {
console.log(11111)
_this.getList(1)
_this.MsgBus.$emit("edit-show")
})
......
......@@ -9,13 +9,27 @@
<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>
<template v-if="items.fileType < 2">
<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(${compressImg(subItem, 'filt', 175, '')})`"></div>
</div>
</template>
<template v-else-if="items.fileType === 2">
<div class="f-item-content">
{{items.content | decodeURIComponent(items.content)}}
</div>
<div class="f-item-img">
<div @click="payVideo" class="video-img" :style="`background-image: url(${imgUrl})`">
<span class="el-icon-caret-right"></span>
</div>
</div>
</template>
<template v-else>
<TiCheng :items="items"/>
</template>
<div class="dianzan">
<div class="left">
<div class="praise" v-if='items.likeList.length>0'>
......@@ -31,12 +45,12 @@
<i v-if="mySelf" class='el-icon-delete' :style="{color: msgBox ? '#4780FF' : ''}" @click="deleteArticle"></i>
</div>
</div>
<div class="review" v-if="item.commentList.length>0">
<div class="review" v-if="items.commentList.length>0">
<span class="reviewIcon">
<span class="sjx"></span>
</span>
<ul>
<li v-for="(i,index) in item.commentList" class="review-list-item">
<li v-for="(i,index) in items.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>
......@@ -59,12 +73,14 @@
</el-input>
<div class="send" :class="{'send-yes' : content.length > 0}" @click="reviewArticle">发表</div>
</div>
<video v-if="url!==''" id="video" :src="url" controls="controls" ></video>
</li>
</template>
<script>
import TiCheng from './TiCheng'
export default {
components: {
TiCheng
},props: {
item: {
type: Object,
......@@ -118,6 +134,8 @@ export default {
},
data(){
return{
url: '',
imgUrl: '',
items: {},
content: "",
msgBox: false,
......@@ -131,15 +149,35 @@ export default {
}, watch: {
item(newVal, oldVal){
this.items = this.item
this.getVideoImg()
}
}, created () {
let userInfo = JSON.parse(localStorage.user)
this.userId = userInfo.EmployeeId;
this.deleteMsg.groupId = userInfo.RB_Group_id
this.items = this.item
this.getVideoImg()
},mounted() {
},methods: {
payVideo(){
this.$electron.ipcRenderer.send("openPreviwerVideo", this.url);
},
getVideoImg(){
if (this.items.fileType!==2) return
this.url = this.items.files[0]
console.log(this.url)
let scale = 0.8
let _this = this
setTimeout(()=>{
let video = document.getElementById("video");
var canvas = document.createElement("canvas");//创建一个canvas
canvas.width = video.videoWidth * scale;//设置canvas的宽度为视频的宽度
canvas.height = video.videoHeight * scale;//设置canvas的高度为视频的高度
canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height);//绘制图像
_this.imgUrl = canvas.toDataURL("image/png");//将绘制的图像用img显示出来
}, 1000)
},
deleteArticle() {
//删除动态
this.deleteMsg.articleId = this.items.id;
......@@ -220,6 +258,11 @@ export default {
}
</script>
<style>
#video{
position: absolute;
left: -999px;
top: -999px
}
.f-item{
padding: 20px;
background-color: #fff;
......@@ -263,6 +306,9 @@ export default {
margin-bottom: 10px;
margin-right: 10px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
}
.dianzan{
display: flex;
......@@ -351,4 +397,15 @@ border-color: #73BFFF transparent transparent transparent;
.review-list-item i:hover {
color: rgb(71, 128, 255);
}
.video-img span{
width: 30px;
height: 30px;
display: inline-block;
text-align: center;
line-height: 30px;
font-size: 16px;
color: #080808;
border-radius: 50%;
background-color: #c5c5c5;
}
</style>
\ No newline at end of file
<template>
</template>
<script>
export default {
components: {
},
props:{
},
data(){
return{
}
},mounted() {
},methods: {
},
}
</script>
<style>
</style>
\ No newline at end of file
......@@ -16,11 +16,11 @@ export default {
return{
activeID: 0,
loding: true,
activeName: '圈友动态',
activeName: '工作动态',
list: [
{
id: 0,
name: '圈友动态',
name: '工作动态',
icon: 'iconkongjian-icon'
},
{
......
......@@ -13,6 +13,9 @@
<div class="fme-item-img" v-if="items.fileType === 1">
<div @click="showImg(items.fileList[0])" :style="`background-image: url(${items.fileList[0]})`"></div>
</div>
<!-- <div class="fme-item-tc" v-if="items.fileType === 3">
提成奖励分享
</div> -->
<el-tooltip popper-class="tooltip-item" effect="dark" :content="items.content | decodeURIComponent(items.content)" placement="top">
<div class="text-row3">
{{items.content | decodeURIComponent(items.content)}}
......
......@@ -8,7 +8,15 @@
<ul class="menu">
<li :class="{'active':chosenState.val==0}">
<el-tooltip class="item" effect="dark" content="消息" placement="right">
<i class="iconfont iconxinxi" @click="changeMenu(0,'消息')"></i>
<el-badge
:value="unread"
:max="99"
class="item"
:hidden="unread==0"
:is-dot="chosenState.val==0 && unread>0"
>
<i class="iconfont iconxinxi" @click="changeMenu(0,'消息')"></i>
</el-badge>
</el-tooltip>
</li>
<li :class="{'active':chosenState.val==1}">
......@@ -17,8 +25,13 @@
</el-tooltip>
</li>
<li :class="{'active':chosenState.val==2}">
<el-tooltip class="item" effect="dark" content="空间" placement="right">
<i class="iconfont iconkongjian" @click="changeMenu(2,'空间')"></i>
<el-tooltip class="item" effect="dark" content="工作圈" placement="right">
<el-badge
class="item"
:is-dot="true"
>
<i class="iconfont iconkongjian" @click="changeMenu(2,'工作圈')"></i>
</el-badge>
</el-tooltip>
</li>
<li :class="{'active':chosenState.val==3}">
......@@ -125,10 +138,16 @@ export default {
currentAccount: ""
},
reconnecloading: false,
isdissconnection: false
isdissconnection: false,
unread: 0
};
},
mounted() {
let _this = this
this.MsgBus.$on('unread-msg-con', function (params) {
console.log(params)
_this.unread = params
})
const updateOnlineStatus = () => {
if (navigator.onLine && this.isdissconnection) {
this.isdissconnection = false;
......
......@@ -191,7 +191,8 @@ export default {
forwardMsgInfo:{},
sessionlistArr: [],
initSessionList:[],
localAts:{}
localAts:{},
unreadMsgCon: 0
};
},
updated() {
......@@ -541,6 +542,7 @@ export default {
},
sessionlist() {
let unreadList = [];
this.unreadMsgCon = 0;
let historicList = window.localStorage.historicList ? JSON.parse(window.localStorage.historicList) : [];
// console.log("this.$store.state.sessionlist", this.$store.state.sessionlist)
let sessionlist = this.$store.state.sessionlist.filter(item => {
......@@ -726,6 +728,11 @@ export default {
this.newMsgList = unreadList;
this.newMsgList.map(x=>{
this.unreadMsgCon += x.unread
})
let _this = this
this.MsgBus.$emit('unread-msg-con', _this.unreadMsgCon)
let topList = [],
otherList = [];
sessionlist.map(x=>{
......
......@@ -5,7 +5,7 @@
<span class="seach__item__icon">
<i class="iconfont iconsearch"></i>
</span>
<input type="text" placeholder="搜索" class="seach__item__input">
<input type="text" placeholder="搜索" class="seach__item__input" v-model="searchStr" @keypress.enter="getSearch">
</div>
</div>
<ul class="type-box">
......@@ -35,12 +35,16 @@ export default {
}
},
data(){
return{
return {
searchStr: '',
}
},mounted() {
},methods: {
getSearch: function () {
let _this = this
this.MsgBus.$emit("searchFile", _this.searchStr)
},
switchType: function (obj){
this.$emit("changeType", obj.id)
}
......
......@@ -77,6 +77,11 @@ export default new Router({
path: '/CollectionSearchBox',
name: 'CollectionSearchBox',
component: require('@/components/tools/CollectionSearchBox')
},
{
path: '/TiChengWin',
name: 'TiChengWin',
component: require('@/components/friends/TiChengWin')
}
]
})
\ 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