个人主页接口对接

This commit is contained in:
zhaofang
2022-09-20 19:53:09 +08:00
parent 44253f06f0
commit b99f54189d
19 changed files with 533 additions and 886 deletions

View File

@@ -198,11 +198,12 @@ const saveComment=function(data) {
const ids=function (data){
return ajax.postJson('/xboe/m/qa/question/ids',data);
}
const answerIds=function(data){return ajax.postJson('/xboe/m/qa/answer/ids',data);}
export default{
indexList,
pageList,
detail,
save,
pageList,
detail,
save,
del,
queryList,
answerList,
@@ -211,16 +212,17 @@ export default{
delAnswer,
detailAnswer,
isBest,
cancelBest,
cancelBest,
savaAudit,
isEssence,
queryAnswer,
queryQuestion,
potallist,
update,
page,
has,
saveComment,
replayClevel3,
ids
isEssence,
queryAnswer,
queryQuestion,
potallist,
update,
page,
has,
saveComment,
replayClevel3,
ids,
answerIds
}

View File

@@ -100,7 +100,7 @@ const restore=function (id){
* }
* */
const ids=function (data){
return ajax.postJson('/xboe/subgroup/m/noteinfo/ids',data);
return ajax.postJson(baseURL,'/xboe/subgroup/m/noteinfo/ids',data);
}
export default {

View File

@@ -62,8 +62,8 @@
<div class="newcote-bottom" v-if="notetab == 1">
<span style="cursor: pointer;" @click="videoLocation"> <img src="../../../public/images/playtime.png"
alt=""> 视频位置</span>
<el-radio v-model="mynoteData.openType" :label="1">公开</el-radio>
<el-radio v-model="mynoteData.openType" :label="2">私密</el-radio>
<el-radio v-model="mynoteData.openType" :label="9">公开</el-radio>
<el-radio v-model="mynoteData.openType" :label="1">私密</el-radio>
<el-button type="primary" size="small" @click="saveNote()">保存</el-button>
</div>
</div>
@@ -100,7 +100,7 @@ export default {
courseId: '',// 课程id
contentId: '',//课程内容id
courseName: '',// 课程名称
openType: 1,// 1表不公开 9表完全公开
openType: 9,// 1表不公开 9表完全公开
},
noteList: [],
type: 1, // 1自动保存 2点击保存
@@ -195,6 +195,7 @@ export default {
this.$message({ type: 'info', message: '您还没有书写笔记!', offset: 50 });
return;
}
console.log(this.mynoteData,'this.mynoteData');
apiNote.save(this.mynoteData).then(res => {
if (res.status == 200) {
if (!this.mynoteData.id) {
@@ -205,11 +206,11 @@ export default {
// 是编辑新增
let event = {
key: "PublishNote",//后台的事件key
title: "发布公开的笔记",//事件的标题
title: this.data.name,//事件的标题
parameters: "",//用户自定义参数 name:value,name:value
content: "每发布一个公开 的笔记",//事件的内容
content: this.data.name,//this.mynoteData.content,//事件的内容
objId: res.result.id,//关联的id
objType: "4",//关联的类型
objType: "6",//关联的类型
objInfo: "笔记",
aid: this.userInfo.aid, //当前登录人的id
aname: this.userInfo.name,//当前人的姓名

View File

@@ -1,21 +1,20 @@
<template>
<div class="answer-list">
<ul v-if="answerList.length > 0">
<li class="answer-list-index">
<h6 class="answer-title-info follow-home-title">行管专科名校直播班
<ul v-if="list.length > 0">
<li class="answer-list-index" v-for="item in list" :key="item.id">
<h6 class="answer-title-info follow-home-title">{{item.contentInfo}}
<span class="follow-hide" style="float:right">
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
</span>
</h6>
<p class="answer-text">
假如你床头有 10 本书你要在其中找到一本书你会怎么找你可能会说扫一眼就找到了啊假如你现在身处世界上最大的图书馆美国国会图书馆藏书超 2.1 亿本现在你想在里边找某一本某某书请问你如何找一本一本翻吗累死你2.1 亿这个数字我给你换算了一下 2.1 亿本书铺起来可绕地球近两圈不仅仅找书图书馆每天还要在其中处理要在其中处要
<span style="color:#0B4D9D;cursor:pointer;">
<!-- @click.stop="changeIsAll(item)" -->
{{false?'收起':'全文展开'}}
{{displayAll(item)}}
<span style="color:#0B4D9D;cursor:pointer;" v-if="item.info.content && item.info.content.length>180" @click.stop="changeIsAll(item)">
{{item.isAll?'收起':'全文展开'}}
</span>
</p>
<div>
<interactBar :type="0" :shares="false" :views="false" :readonly="true"></interactBar>
<interactBar :type="0" :data="item.info" :shares="false" :views="false" :readonly="true"></interactBar>
</div>
</li>
</ul>
@@ -35,13 +34,25 @@
interactBar,
// timeShow,
author
},
props:{
list:{
type:Array,
default:()=>[]
}
},
data(){
return{
answerList:[{name:1},{name:2}]
answerList:[]
}
},
methods:{
displayAll(item) {
if (!item.isAll && item.info.content && item.info.content.length > 180) {
return item.info.content.slice(0, 180) + "...";
}
return item.info.content;
},
//展示全部
changeIsAll(item) {
item.isAll = !item.isAll;

View File

@@ -1,24 +1,24 @@
<template>
<div class="article-list">
<ul v-if="articleList.length > 0">
<li class="article-list-index">
<h6 class="article-title-info follow-home-title">房产税落地其实不会对房价有大影响
<ul v-if="list.length > 0">
<li class="article-list-index" v-for="item in list" :key="item.id">
<h6 class="article-title-info follow-home-title">{{item.info.title || item.contentInfo}}
<span class="follow-hide" style="float:right">
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
</span>
</h6>
<div style="height:58px;padding-top:14px ">
<!-- <author :avatar="item.authorInfo.avatar" :name="item.authorInfo.name" :info="item.authorInfo.orgInfo" :sex="item.authorInfo.sex"></author> -->
</div>
<author :avatar="item.authorInfo.avatar" :name="item.authorInfo.name" :info="item.authorInfo.orgInfo" :sex="item.authorInfo.sex" :aid="item.authorInfo.aid"></author>
</div>
<p class="article-text">
假如你床头有 10 本书你要在其中找到一本书你会怎么找你可能会说扫一眼就找到了啊假如你现在身处世界上最大的图书馆美国国会图书馆藏书超 2.1 亿本现在你想在里边找某一本某某书请问你如何找一本一本翻吗累死你2.1 亿这个数字我给你换算了一下 2.1 亿本书铺起来可绕地球近两圈不仅仅找书图书馆每天还要在其中处理要在其中处要
<span style="color:#0B4D9D;cursor:pointer;" >
<!-- @click.stop="changeIsAll(item)" -->
{{false?'收起':'全文展开'}}
{{displayAll(item)}}
<!-- <span v-html="displayAll(item)"></span> -->
<span style="color:#0B4D9D;cursor:pointer;" v-if="item.info.summary && item.info.summary.length>250" @click.stop="changeIsAll(item)">
{{item.isAll?'收起':'全文展开'}}
</span>
</p>
<div>
<interactBar :type="0" :shares="false" :views="false" :readonly="true"></interactBar>
<interactBar :type="2" :data="item.info" :shares="false" :views="false" :readonly="true"></interactBar>
</div>
</li>
</ul>
@@ -38,13 +38,25 @@
interactBar,
// timeShow,
author
},
props:{
list:{
type:Array,
default:()=>[]
}
},
data(){
return{
articleList:[{name:1},{name:2}]
articleList:[]
}
},
methods:{
displayAll(item) {
if (!item.isAll && item.info.summary && item.info.summary.length > 250) {
return item.info.summary.slice(0, 180) + "...";
}
return item.info.summary;
},
//展示全部
changeIsAll(item) {
item.isAll = !item.isAll;

View File

@@ -1,41 +1,41 @@
<template>
<div class="case-list-box">
<div class="data-content" v-if="caseList.length >0">
<div :span="24" v-for="item in caseList" :key="item.id" class="case-list">
<div class="data-content" v-if="list.length >0">
<div :span="24" v-for="item in list" :key="item.id" class="case-list">
<div class="case-info">
<div class="case-info-cont">
<router-link :to="'/case/detail?id='+item.id">
<router-link :to="'/case/detail?id='+item.info.id">
<div class="case-info-title">
<div class="case-titdiv">
<span class="case-tittext" v-html="item.title"></span>
<span class="case-tittext" v-html="item.info.title || item.contentInfo"></span>
<div class="follow-hide">
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
</div>
</div>
</div>
<div style="height:58px;padding-top:14px ">
<author :avatar="item.authorInfo.avatar" :name="item.authorInfo.name" :info="item.authorInfo.orgInfo" :sex="item.authorInfo.sex"></author>
<div style="height:58px;padding-top:18px ">
<author :avatar="item.authorInfo.avatar" :name="item.authorInfo.name" :info="item.authorInfo.orgInfo" :sex="item.authorInfo.sex" :aid="item.authorInfo.aid"></author>
</div>
<div class="keyword-text clearfix">
<div style="color:#2974D6;font-weight: 450;" v-if="item.orgDomain">{{ orgDomainTranslate(item.orgDomain) }}</div>
<div style="color:#2974D6;font-weight: 450;" v-if="item.orgDomain == '' && item.orgDomainParent">{{ orgDomainTranslate(item.orgDomainParent) }}</div>
<div style="color:#2974D6;font-weight: 450;" v-for="item,idx in item.majorType" :key="idx" >{{ majorTypeTranslate(item) }}</div>
<div v-if="item.keyword1">{{ item.keyword1 }}</div>
<div v-if="item.keyword2">{{ item.keyword2 }}</div>
<div v-if="item.keyword3">{{ item.keyword3 }}</div>
<div v-if="item.keyword4">{{ item.keyword4 }}</div>
<div v-if="item.keyword5">{{ item.keyword5 }}</div>
<div style="color:#2974D6;font-weight: 450;" v-if="item.orgDomain">{{ orgDomainTranslate(item.info.orgDomain) }}</div>
<div style="color:#2974D6;font-weight: 450;" v-if="item.orgDomain == '' && item.orgDomainParent">{{ orgDomainTranslate(item.info.orgDomainParent) }}</div>
<div style="color:#2974D6;font-weight: 450;" v-for="item,idx in item.info.majorType" :key="idx" >{{ majorTypeTranslate(item) }}</div>
<div v-if="item.info.keyword1">{{ item.info.keyword1 }}</div>
<div v-if="item.info.keyword2">{{ item.info.keyword2 }}</div>
<div v-if="item.info.keyword3">{{ item.info.keyword3 }}</div>
<div v-if="item.info.keyword4">{{ item.info.keyword4 }}</div>
<div v-if="item.info.keyword5">{{ item.info.keyword5 }}</div>
</div>
</router-link>
<div class="case-info-summary">
{{displayAll(item)}}
<span style="color:#588afc;cursor:pointer;" v-if="item.summary.length>180" @click.stop="changeIsAll(item)">
<span style="color:#588afc;cursor:pointer;" v-if="item.info.summary && item.info.summary.length>180" @click.stop="changeIsAll(item)">
{{item.isAll?'收起':'展开'}}
</span>
</div>
<div style="display: flex;justify-content: flex-end;">
<div style="margin:8px 0;">
<interactBar :type="0" :shares="false" :views="false" :data="item" :readonly="true"></interactBar> </div>
<interactBar :type="0" :shares="false" :views="false" :data="item.info" :readonly="true"></interactBar> </div>
</div>
</div>
</div>
@@ -52,724 +52,32 @@
import interactBar from "@/components/Portal/interactBar.vue";
import author from "@/components/Portal/authorInfo.vue";
export default{
name:"CaseList",
name:"caselist",
components: {
interactBar,
// timeShow,
author
},
props:{
list:{
type:Array,
default:()=>[]
}
},
data(){
return{
caseList:[]
// caseList:[
// {
// "id": "986217699985510400",
// "sysCreateAid": "952948626497724414",
// "sysCreateBy": "赵芳",
// "sysCreateTime": "2022-06-14 10:37:03",
// "sysUpdateTime": "2022-06-14 10:37:03",
// "sysUpdateBy": "赵芳",
// "sysVersion": 0,
// "deleted": false,
// "title": "pdf测试",
// "authorInfo":{
// "aid": "",
// "name": "赵芳",
// "orgInfo": "科技刚刚",
// "avatar": "/2022/4/967742667851837440.png",
// "sex": 2
// },
// "companyId": "",
// "content": "",
// "filePath": "/case/2022/6/986217684261064704.pdf",
// "fileName": "初中历史178道选择题含答案三年重难点看这.pdf",
// "authorId": "952948626497724414",
// "authorName": "赵芳",
// "coverUrl": "",
// "breCommend": "",
// "recommendTime": "",
// "isTop": true,
// "authorInfo":{
// aid: "",
// name: "",
// orgInfo: "",
// avatar: "",
// sex: null
// },
// "topTime": "2022-06-14 19:02:52",
// "views": 345,
// "comments": 2,
// "praises": 1,
// "shares": 2,
// "favorites": 1,
// "summary": "日日日日",
// "orgDomain": "b1c2",
// "orgDomainParent": "b1c1",
// "majorType": "a1b1",
// "approvalNumber": "",
// "confidentialityLevel": "",
// "draftingTime": "",
// "endTime": "",
// "drafter": "",
// "department": "",
// "contactNumber": "",
// "email": "",
// "caseChannel": "",
// "isLeadershipPlan": "",
// "caseScope": "",
// "caseFlow": "",
// "caseOwner": "",
// "caseOwnerDepartment": "",
// "caseOwnerPhone": "",
// "caseOtherContributor": "",
// "caseSpecialtySequence": "",
// "caseOwnerOrg": "",
// "caseType": "",
// "caseType1": "",
// "caseType2": "",
// "caseTheme": "",
// "caseThemeDescription": "",
// "keyword1": "",
// "keyword2": "",
// "keyword3": "",
// "keyword4": "",
// "keyword5": "",
// "readers": "",
// "caseValue": "",
// "majorIds": ""
// },
// {
// "id": "983704254690021376",
// "sysCreateAid": "952948626497724412",
// "sysCreateBy": "白晋宇",
// "sysCreateTime": "2022-06-07 12:09:31",
// "sysUpdateTime": "2022-06-07 12:09:31",
// "sysUpdateBy": "白晋宇",
// "sysVersion": 0,
// "deleted": false,
// "title": "13123132",
// "companyId": "",
// "authorInfo":{
// aid: "",
// name: "",
// orgInfo: "",
// avatar: "",
// sex: null
// },
// "content": "京东方",
// "filePath": "/tools/2022/6/983703954482712576.pdf",
// "fileName": "",
// "authorId": "",
// "authorName": "aaa",
// "coverUrl": "",
// "breCommend": "",
// "recommendTime": "",
// "isTop": true,
// "topTime": "",
// "views": 14,
// "comments": 0,
// "praises": 0,
// "shares": 0,
// "favorites": 0,
// "summary": "这是由于系统数据配置与实际不符,如能找到正确的 HRBP 担当,请直\r\n接委托对方处理即可并联系 BOEU 担当调整数据,如不能找到,请将\r\n审批退回写明原因并联系 BOEU 担当调整数据。",
// "orgDomain": "",
// "orgDomainParent": "",
// "majorType": "a2b5",
// "approvalNumber": "",
// "confidentialityLevel": "",
// "draftingTime": "",
// "endTime": "",
// "drafter": "",
// "department": "",
// "contactNumber": "",
// "email": "",
// "caseChannel": "",
// "isLeadershipPlan": "",
// "caseScope": "",
// "caseFlow": "",
// "caseOwner": "",
// "caseOwnerDepartment": "",
// "caseOwnerPhone": "",
// "caseOtherContributor": "",
// "caseSpecialtySequence": "",
// "caseOwnerOrg": "",
// "caseType": "业务痛点",
// "caseType1": "出明确需求案",
// "caseType2": "业务痛点",
// "caseTheme": "",
// "caseThemeDescription": "",
// "keyword1": "关键字1",
// "keyword2": "关键字2",
// "keyword3": "关键字3",
// "keyword4": "关键字4",
// "keyword5": "关键字5",
// "readers": "",
// "caseValue": "",
// "majorIds": ""
// },
// {
// "id": "985944744021209088",
// "sysCreateAid": "952948626497724412",
// "sysCreateBy": "白晋宇",
// "sysCreateTime": "2022-06-13 16:32:25",
// "sysUpdateTime": "2022-06-13 16:32:25",
// "sysUpdateBy": "白晋宇",
// "sysVersion": 4,
// "authorInfo":{
// aid: "",
// name: "",
// orgInfo: "",
// avatar: "",
// sex: null
// },
// "deleted": false,
// "title": "六月十三日",
// "companyId": "",
// "content": "",
// "filePath": "/case/2022/6/985944739512332288.pdf",
// "fileName": "课件内容pdf.pdf",
// "authorId": "952948626497714416",
// "authorName": "李明晶",
// "coverUrl": "",
// "breCommend": "",
// "recommendTime": "",
// "isTop": false,
// "topTime": "",
// "views": 115,
// "comments": 12,
// "praises": 1,
// "shares": 1,
// "favorites": 1,
// "summary": "乌冲突是一面照妖镜,可以照出世界各国哪个是“妖”、哪个是人。纵观整个世界,能够同时获得俄乌两个当事国的信任的,似乎只有中国一个。据环球网报道,中国在俄乌冲突中所持的立场,受到俄罗斯和乌克兰两个当事国的各自肯定。不仅如此,就连一直想找茬恶心中国的美国,也不得不拉下身段,公开承认抓不到中国的“小辫子”。乌冲突是一面照妖镜,可以照出世界各国哪个是“妖”、哪个是人。纵观整个世界,能够同时获得俄乌两个当事国的信任的,似乎只有中国一个。据环球网报道,中国在俄乌冲突中所持的立场,受到俄罗斯和乌克兰两个当事国的各自肯定。不仅如此,就连一直想找茬恶心中国的美国,也不得不拉下身段,公开承认抓不到中国的“小辫子”。乌冲突是一面照妖镜,可以照出世界各国哪个是“妖”、哪个是人。纵观整个世界,能够同时获得俄乌两个当事国的信任的,似乎只有中国一个。据环球网报道,中国在俄乌冲突中所持的立场,受到俄罗斯和乌克兰两个当事国的各自肯定。不仅如此,就连一直想找茬恶心中国的美国,也不得不拉下身段,公开承认抓不到中国的“小辫子”。",
// "orgDomain": "",
// "orgDomainParent": "c2d3",
// "majorType": "a1b1",
// "approvalNumber": "",
// "confidentialityLevel": "",
// "draftingTime": "",
// "endTime": "",
// "drafter": "",
// "department": "",
// "contactNumber": "",
// "email": "",
// "caseChannel": "",
// "isLeadershipPlan": "",
// "caseScope": "",
// "caseFlow": "",
// "caseOwner": "",
// "caseOwnerDepartment": "",
// "caseOwnerPhone": "",
// "caseOtherContributor": "",
// "caseSpecialtySequence": "",
// "caseOwnerOrg": "",
// "caseType": "",
// "caseType1": "",
// "caseType2": "",
// "caseTheme": "",
// "caseThemeDescription": "",
// "keyword1": "",
// "keyword2": "",
// "keyword3": "",
// "keyword4": "",
// "keyword5": "",
// "readers": "",
// "caseValue": "",
// "majorIds": ""
// },
// {
// "id": "985946065260523520",
// "sysCreateAid": "952948626497724414",
// "sysCreateBy": "赵芳",
// "sysCreateTime": "2022-06-13 16:37:40",
// "sysUpdateTime": "2022-06-13 16:39:59",
// "sysUpdateBy": "赵芳",
// "sysVersion": 4,
// "deleted": false,
// "authorInfo":{
// aid: "",
// name: "",
// orgInfo: "",
// avatar: "",
// sex: null
// },
// "title": "记者台报道",
// "companyId": "",
// "content": "",
// "filePath": "/case/2022/6/985946046784614400.pdf",
// "fileName": "初中历史178道选择题含答案三年重难点看这.pdf",
// "authorId": "952948626497724414",
// "authorName": "赵芳",
// "coverUrl": "",
// "breCommend": "",
// "recommendTime": "",
// "isTop": false,
// "topTime": "",
// "views": 37,
// "comments": 7,
// "praises": 0,
// "shares": 0,
// "favorites": 1,
// "summary": "记者台报道",
// "orgDomain": "",
// "orgDomainParent": "e1f2",
// "majorType": "a2b2",
// "approvalNumber": "",
// "confidentialityLevel": "",
// "draftingTime": "",
// "endTime": "",
// "drafter": "",
// "department": "",
// "contactNumber": "",
// "email": "",
// "caseChannel": "",
// "isLeadershipPlan": "",
// "caseScope": "",
// "caseFlow": "",
// "caseOwner": "",
// "caseOwnerDepartment": "",
// "caseOwnerPhone": "",
// "caseOtherContributor": "",
// "caseSpecialtySequence": "",
// "caseOwnerOrg": "",
// "caseType": "",
// "caseType1": "",
// "caseType2": "",
// "caseTheme": "",
// "caseThemeDescription": "",
// "keyword1": "1",
// "keyword2": "",
// "keyword3": "",
// "keyword4": "",
// "keyword5": "",
// "readers": "",
// "caseValue": "",
// "majorIds": ""
// },
// {
// "id": "994247850014986240",
// "sysCreateAid": "952948626497724412",
// "sysCreateBy": "白晋宇",
// "sysCreateTime": "2022-07-06 14:26:00",
// "sysUpdateTime": "2022-07-25 14:00:05",
// "sysUpdateBy": "赵芳",
// "sysVersion": 1,
// "deleted": false,
// "authorInfo":{
// aid: "",
// name: "",
// orgInfo: "",
// avatar: "",
// sex: null
// },
// "title": "测试多条数据222",
// "companyId": "",
// "content": "",
// "filePath": "/case/2022/7/994247843694170112.pdf",
// "fileName": "附件一:新报名收费流程简介.pdf",
// "authorId": "952948626497714416",
// "authorName": "李明晶",
// "coverUrl": "",
// "breCommend": "",
// "recommendTime": "",
// "isTop": false,
// "topTime": "",
// "views": 33,
// "comments": 0,
// "praises": 0,
// "shares": 0,
// "favorites": 1,
// "summary": "数据222",
// "orgDomain": "d1e2",
// "orgDomainParent": "c1d2",
// "majorType": "a1b1,a2b4",
// "approvalNumber": "",
// "confidentialityLevel": "",
// "draftingTime": "",
// "endTime": "",
// "drafter": "",
// "department": "",
// "contactNumber": "",
// "email": "",
// "caseChannel": "",
// "isLeadershipPlan": "",
// "caseScope": "",
// "caseFlow": "",
// "caseOwner": "",
// "caseOwnerDepartment": "",
// "caseOwnerPhone": "",
// "caseOtherContributor": "",
// "caseSpecialtySequence": "",
// "caseOwnerOrg": "",
// "caseType": "",
// "caseType1": "",
// "caseType2": "",
// "caseTheme": "",
// "caseThemeDescription": "",
// "keyword1": "晕乎乎",
// "keyword2": "回纥",
// "keyword3": "",
// "keyword4": "",
// "keyword5": "",
// "readers": "",
// "caseValue": "",
// "majorIds": ""
// },
// {
// "id": "985957953641918464",
// "sysCreateAid": "952948626497724412",
// "sysCreateBy": "白晋宇",
// "sysCreateTime": "2022-06-13 17:24:54",
// "sysUpdateTime": "2022-06-13 17:24:54",
// "sysUpdateBy": "白晋宇",
// "sysVersion": 4,
// "deleted": false,
// "authorInfo":{
// aid: "",
// name: "",
// orgInfo: "",
// avatar: "",
// sex: null
// },
// "title": "1212112222222000666",
// "companyId": "",
// "content": "",
// "filePath": "/case/2022/6/985957949544083456.pdf",
// "fileName": "初中历史178道选择题含答案三年重难点看这.pdf",
// "authorId": "952948626497714416",
// "authorName": "李明晶",
// "coverUrl": "",
// "breCommend": "",
// "recommendTime": "",
// "isTop": false,
// "topTime": "",
// "views": 22,
// "comments": 0,
// "praises": 0,
// "shares": 0,
// "favorites": 0,
// "summary": "据报道由于新冠疫情持续蔓延上野动物园经常临时停业这是“香香”时隔3年再次生日时同游客见面。\n上野动物园负责人表示香香吃得好睡得香我们非常开心它能健康地迎来5岁生日。”\n报道指出“香香”原定于2020年12月末归还中国但受到新冠疫情的影响归还日期一再被推迟目前计划于2022年12月末归还。",
// "orgDomain": "",
// "orgDomainParent": "a1b1",
// "majorType": "",
// "approvalNumber": "",
// "confidentialityLevel": "",
// "draftingTime": "",
// "endTime": "",
// "drafter": "",
// "department": "",
// "contactNumber": "",
// "email": "",
// "caseChannel": "",
// "isLeadershipPlan": "",
// "caseScope": "",
// "caseFlow": "",
// "caseOwner": "",
// "caseOwnerDepartment": "",
// "caseOwnerPhone": "",
// "caseOtherContributor": "",
// "caseSpecialtySequence": "",
// "caseOwnerOrg": "",
// "caseType": "",
// "caseType1": "",
// "caseType2": "",
// "caseTheme": "",
// "caseThemeDescription": "",
// "keyword1": "1",
// "keyword2": "2",
// "keyword3": "3",
// "keyword4": "4",
// "keyword5": "5",
// "readers": "",
// "caseValue": "",
// "majorIds": ""
// },
// {
// "id": "985923785620992000",
// "sysCreateAid": "952948626497724414",
// "sysCreateBy": "赵芳",
// "sysCreateTime": "2022-06-13 15:09:08",
// "sysUpdateTime": "2022-06-13 15:09:08",
// "sysUpdateBy": "赵芳",
// "sysVersion": 4,
// "deleted": false,
// "authorInfo":{
// aid: "",
// name: "",
// orgInfo: "",
// avatar: "",
// sex: null
// },
// "title": "日日日",
// "companyId": "",
// "content": "",
// "filePath": "",
// "fileName": "",
// "authorId": "952948626497724414",
// "authorName": "赵芳",
// "coverUrl": "",
// "breCommend": "",
// "recommendTime": "",
// "isTop": false,
// "topTime": "",
// "views": 20,
// "comments": 0,
// "praises": 0,
// "shares": 1,
// "favorites": 0,
// "summary": "日日日",
// "orgDomain": "",
// "orgDomainParent": "c2d3",
// "majorType": "",
// "approvalNumber": "",
// "confidentialityLevel": "",
// "draftingTime": "",
// "endTime": "",
// "drafter": "",
// "department": "",
// "contactNumber": "",
// "email": "",
// "caseChannel": "",
// "isLeadershipPlan": "",
// "caseScope": "",
// "caseFlow": "",
// "caseOwner": "",
// "caseOwnerDepartment": "",
// "caseOwnerPhone": "",
// "caseOtherContributor": "",
// "caseSpecialtySequence": "",
// "caseOwnerOrg": "",
// "caseType": "",
// "caseType1": "",
// "caseType2": "",
// "caseTheme": "",
// "caseThemeDescription": "",
// "keyword1": "4",
// "keyword2": "4",
// "keyword3": "4",
// "keyword4": "4",
// "keyword5": "4",
// "readers": "",
// "caseValue": "",
// "majorIds": ""
// },
// {
// "id": "986231437475459072",
// "sysCreateAid": "952948626497724412",
// "sysCreateBy": "白晋宇",
// "sysCreateTime": "2022-06-14 11:31:38",
// "sysUpdateTime": "2022-06-14 11:31:38",
// "sysUpdateBy": "白晋宇",
// "sysVersion": 0,
// "deleted": false,
// "authorInfo":{
// aid: "",
// name: "",
// orgInfo: "",
// avatar: "",
// sex: null
// },
// "title": "测试测试33",
// "companyId": "",
// "content": "",
// "filePath": "/case/2022/6/986231422417907712.pdf",
// "fileName": "初中历史178道选择题含答案三年重难点看这.pdf",
// "authorId": "952948626497724417",
// "authorName": "郑慧萍",
// "coverUrl": "",
// "breCommend": "",
// "recommendTime": "",
// "isTop": false,
// "topTime": "",
// "views": 16,
// "comments": 0,
// "praises": 1,
// "shares": 2,
// "favorites": 0,
// "summary": "对于这个问题肯定每个人都有每个人的选择。所以有些人就会好奇网友们会怎么选于是自发组织了一个投票。经过投票后很大一部分的网友都会选择700分理由就是觉得自己拼尽一辈子可能也赚不了那么多钱。\n确实700万并不是一个小数目。对于很多人来说每个月可能都是拿着几千块的工资在勉强熬过生活能赚到700万简直就是天方夜谭。选择700万的人也是无可厚非的毕竟都是经历过了生活的苦知道现实的残酷才会想要这样选择。对于这个问题肯定每个人都有每个人的选择。所以有些人就会好奇网友们会怎么选于是自发组织了一个投票。经过投票后很大一部分的网友都会选择700分理由就是觉得自己拼尽一辈子可能也赚不了那么多钱。\n确实700万并不是一个小数目。对于很多人来说每个月可能都是拿着几千块的工资在勉强熬过生活能赚到700万简直就是天方夜谭。选择700万的人也是无可厚非的毕竟都是经历过了生活的苦知道现实的残酷才会想要这样选择。",
// "orgDomain": "a2b4",
// "orgDomainParent": "a1b1",
// "majorType": "a2b4",
// "approvalNumber": "",
// "confidentialityLevel": "",
// "draftingTime": "",
// "endTime": "",
// "drafter": "",
// "department": "",
// "contactNumber": "",
// "email": "",
// "caseChannel": "",
// "isLeadershipPlan": "",
// "caseScope": "",
// "caseFlow": "",
// "caseOwner": "",
// "caseOwnerDepartment": "",
// "caseOwnerPhone": "",
// "caseOtherContributor": "",
// "caseSpecialtySequence": "",
// "caseOwnerOrg": "",
// "caseType": "",
// "caseType1": "",
// "caseType2": "",
// "caseTheme": "",
// "caseThemeDescription": "",
// "keyword1": "",
// "keyword2": "",
// "keyword3": "",
// "keyword4": "",
// "keyword5": "",
// "readers": "",
// "caseValue": "",
// "majorIds": ""
// },
// {
// "id": "985946848324497408",
// "sysCreateAid": "952948626497724414",
// "sysCreateBy": "赵芳",
// "sysCreateTime": "2022-06-13 16:40:47",
// "sysUpdateTime": "2022-06-13 16:40:47",
// "sysUpdateBy": "赵芳",
// "sysVersion": 2,
// "deleted": false,
// "title": "333",
// "companyId": "",
// "content": "",
// "authorInfo":{
// aid: "",
// name: "",
// orgInfo: "",
// avatar: "",
// sex: null
// },
// "filePath": "/case/2022/6/985946831064936448.pdf",
// "fileName": "测试如何写好功能测试用例.pdf",
// "authorId": "952948626497714416",
// "authorName": "李明晶",
// "coverUrl": "",
// "breCommend": "",
// "recommendTime": "",
// "isTop": false,
// "topTime": "",
// "views": 14,
// "comments": 0,
// "praises": 0,
// "shares": 0,
// "favorites": 0,
// "summary": "333",
// "orgDomain": "",
// "orgDomainParent": "e1f1",
// "majorType": "",
// "approvalNumber": "",
// "confidentialityLevel": "",
// "draftingTime": "",
// "endTime": "",
// "drafter": "",
// "department": "",
// "contactNumber": "",
// "email": "",
// "caseChannel": "",
// "isLeadershipPlan": "",
// "caseScope": "",
// "caseFlow": "",
// "caseOwner": "",
// "caseOwnerDepartment": "",
// "caseOwnerPhone": "",
// "caseOtherContributor": "",
// "caseSpecialtySequence": "",
// "caseOwnerOrg": "",
// "caseType": "",
// "caseType1": "",
// "caseType2": "",
// "caseTheme": "",
// "caseThemeDescription": "",
// "keyword1": "",
// "keyword2": "",
// "keyword3": "",
// "keyword4": "",
// "keyword5": "",
// "readers": "",
// "caseValue": "",
// "majorIds": ""
// },
// {
// "id": "986310529105276925",
// "sysCreateAid": "952948626497724414",
// "sysCreateBy": "赵芳",
// "sysCreateTime": "2022-06-14 16:45:55",
// "sysUpdateTime": "2022-06-14 16:45:55",
// "sysUpdateBy": "赵芳",
// "sysVersion": 0,
// "deleted": false,
// "title": "正式pdf",
// "companyId": "",
// "content": "",
// "authorInfo":{
// aid: "",
// name: "",
// orgInfo: "",
// avatar: "",
// sex: null
// },
// "filePath": "/case/2022/6/986310515628978176.pdf",
// "fileName": "《提升企业数据应用能力,探索数据生产力之路》.pdf",
// "authorId": "952948626497724414",
// "authorName": "赵芳",
// "coverUrl": "",
// "breCommend": "",
// "recommendTime": "",
// "isTop": false,
// "topTime": "",
// "views": 8,
// "comments": 0,
// "praises": 0,
// "shares": 0,
// "favorites": 0,
// "summary": "正式pdf",
// "orgDomain": "d1e2",
// "orgDomainParent": "c1d2",
// "majorType": "a2b4",
// "approvalNumber": "",
// "confidentialityLevel": "",
// "draftingTime": "",
// "endTime": "",
// "drafter": "",
// "department": "",
// "contactNumber": "",
// "email": "",
// "caseChannel": "",
// "isLeadershipPlan": "",
// "caseScope": "",
// "caseFlow": "",
// "caseOwner": "",
// "caseOwnerDepartment": "",
// "caseOwnerPhone": "",
// "caseOtherContributor": "",
// "caseSpecialtySequence": "",
// "caseOwnerOrg": "",
// "caseType": "",
// "caseType1": "",
// "caseType2": "",
// "caseTheme": "",
// "caseThemeDescription": "",
// "keyword1": "正式pdf",
// "keyword2": "正式pdf",
// "keyword3": "正式pdf",
// "keyword4": "正式pdf",
// "keyword5": "正式pdf",
// "readers": "",
// "caseValue": "",
// "majorIds": ""
// }
// ],
// list:[]
}
},
mounted() {
},
methods:{
//展示全部
displayAll(item) {
if (!item.isAll && item.summary && item.summary.length > 180) {
return item.summary.slice(0, 180) + "...";
if (!item.isAll && item.info.summary && item.info.summary.length > 180) {
return item.info.summary.slice(0, 180) + "...";
}
return item.summary;
return item.info.summary;
},
changeIsAll(item) {
item.isAll = !item.isAll;
@@ -778,13 +86,6 @@
if(code == '') {
return
}
// let name = '';
// let data = this.orgData.find(item => item.code == code);
// if(data == undefined){
// name = '';
// } else {
// name = data.name;
// }
return '组织领域';
},
majorTypeTranslate(code){ // 专业分类翻译
@@ -833,7 +134,7 @@ div {
font-weight: 600;
margin-top: 16px;
color: #333333;
width: 73%;
width: 95%;
display: -webkit-box;
overflow: hidden;
word-break: break-all;

View File

@@ -1,12 +1,15 @@
<template>
<div class="">
<ul class="data-info-ul" v-if="courseList.length > 0">
<li class="data-info">
<!-- <course-image height="144px" :course="cinfo"></course-image> -->
<img style="width:254px;height:144px" src="/images/list-img.png" alt="">
<ul class="data-info-ul" v-if="list.length > 0">
<li class="data-info" v-for="item in list" :key="item.id">
<div style="width:254px">
<course-image width="254px" height="144px" :course="item.info"></course-image>
</div>
<!-- <img style="width:254px;height:144px" src="/images/list-img.png" alt=""> -->
<div class="data-cen">
<h6 class="course-tit portal-title-tow">京东方商业洞察BIP模型 <span class="score-info">5.0</span> </h6>
<p class="title-info">通俗易懂的入门课程</p>
<h6 class="course-tit portal-title-tow">{{item.info.name || item.contentInfo}} <span class="score-info">{{item.info.score}}</span> </h6>
<p class="title-info">{{item.info.summary}}</p>
<div class="pro-line"> <div>当前进度</div> <div style="width:200px"><el-progress :percentage="50"></el-progress></div></div>
<p class="portal-time">最新一次学习时间2022-5-28 22:30:28</p>
</div>
@@ -15,7 +18,7 @@
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
</div>
<div class="btn-right">
<el-button class="btn" type="primary">确定</el-button>
<el-button class="btn" type="primary" @click="jumpDetail(item.info)">继续学习</el-button>
</div>
</div>
</li>
@@ -28,15 +31,30 @@
</template>
<script>
import courseImage from "@/components/Course/courseImage.vue";
export default{
data(){
return{
courseList:[]
}
},
methods:{
}
components: {
courseImage,
},
props:{
list:{
type:Array,
default:()=>[]
}
},
methods:{
jumpDetail(data) {
if(!data.id){
return;
}
this.$router.push({ path: '/course/detail?id=', query: { id: data.id } });
}
}
}
</script>

View File

@@ -112,7 +112,7 @@
this.uinfo.monthTotalDay = item.total;
}
if(item.statType == 30) {
this.uinfo.uCurrency = item.total;
this.uinfo.uCurrency = item.todays;
}
});
}

View File

@@ -1,21 +1,18 @@
<template>
<div class="note-list">
<ul v-if="noteList.length > 0">
<li class="note-list-index">
<h6 class="note-title-info follow-home-title">行管专科 名校直播班 <span style="color: #333333;font-weight: 400;font-size: 14px;margin-left: 20px;">(通俗易懂的入门课程!)</span> <span class="score-info" style="margin-left:22px">4.8</span>
<ul v-if="list.length > 0">
<li class="note-list-index" v-for="item in list" :key="item.id">
<!-- {{item}} -->
<h6 class="note-title-info follow-home-title">{{item.contentInfo}} <span style="color: #333333;font-weight: 400;font-size: 14px;margin-left: 20px;"></span> <span class="score-info" style="margin-left:22px">4.8</span>
<span class="follow-hide" style="float:right">
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
</span>
</h6>
<p class="note-text">
假如你床头有 10 本书你要在其中找到一本书你会怎么找你可能会说扫一眼就找到了啊假如你现在身处世界上最大的图书馆美国国会图书馆藏书超 2.1 亿本现在你想在里边找某一本某某书请问你如何找一本一本翻吗累死你2.1 亿这个数字我给你换算了一下 2.1 亿本书铺起来可绕地球近两圈不仅仅找书图书馆每天还要在其中处理要在其中处要
<span style="color:#0B4D9D;cursor:pointer;" >
<!-- @click.stop="changeIsAll(item)" -->
{{false?'收起':'全文展开'}}
</span>
{{item.info.content}}
</p>
<div>
<interactBar :type="0" :shares="false" :views="false" :readonly="true"></interactBar>
<interactBar :type="6" :data="item.info" :shares="false" :views="false" :readonly="true"></interactBar>
</div>
</li>
</ul>
@@ -28,17 +25,23 @@
<script>
import interactBar from "@/components/Portal/interactBar.vue";
import author from "@/components/Portal/authorInfo.vue";
// import author from "@/components/Portal/authorInfo.vue";
export default{
name:"NoteList",
components: {
interactBar,
// timeShow,
author
// author
},
props:{
list:{
type:Array,
default:()=>[]
}
},
data(){
return{
noteList:[{name:1},{name:2}]
noteList:[]
}
},
methods:{

View File

@@ -1,15 +1,15 @@
<template>
<div class="put-list">
<ul v-if="putList.length > 0">
<li class="put-list-index">
<h6 class="put-title-info follow-home-title">行管专科 名校直播班
<ul v-if="list.length > 0">
<li class="put-list-index" v-for="item in list" :key="item.id">
<h6 class="put-title-info follow-home-title">{{item.info.title || item.contentInfo}}
<span class="portal-time follow-hide" style="float:right">
<svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏
</span>
</h6>
<div class="put-footer">
<div style="margin-top:20px;font-size: 14px;color: #666666;">12个回答</div>
<el-button class="btn" plain>去回答</el-button>
<div style="margin-top:20px;font-size: 14px;color: #666666;">{{item.info.answers}}个回答</div>
<el-button class="btn" plain @click="jumpDetail(item.info)">去回答</el-button>
</div>
</li>
</ul>
@@ -22,21 +22,32 @@
<script>
import interactBar from "@/components/Portal/interactBar.vue";
import author from "@/components/Portal/authorInfo.vue";
// import author from "@/components/Portal/authorInfo.vue";
export default{
name:"PutList",
components: {
interactBar,
// timeShow,
author
// author
},
props:{
list:{
type:Array,
default:()=>[]
}
},
data(){
return{
putList:[{name:1},{name:2}]
putList:[]
}
},
methods:{
jumpDetail(data) {
if(!data.id){
return;
}
this.$router.push({ path: '/qa/answer', query: { id: data.id } });
},
}
}

View File

@@ -295,7 +295,7 @@ export default {
},
addPraise(){
if(this.type==0){
console.log('未设置type值,1表课程,2表文章3表案例4表问答')
console.log('未设置type值,1表课程,2表文章3表案例4表问答,6笔记')
return;
}
//需要判断是否已点赞,已点赞的不再加

View File

@@ -91,7 +91,7 @@
this.$message.success("发布问题成功")
let event = {
key: "PulishQuestion",//后台的事件key 发布文章且审核通过
title: "发布问题",//事件的标题
title: this.askForm.title,//事件的标题
parameters:"",//用户自定义参数 name:value,name:value
content: "在问答中发布一个问题",//事件的内容
objId: res.result.id,//关联的id

View File

@@ -15,7 +15,7 @@
<div class="user-content">
<div class="content-top">
<h6><router-link to="/homePage"> {{userInfo.name}}</router-link>
<h6><router-link :to="'/homePage?id='+userInfo.aid"> {{userInfo.name}}</router-link>
</h6>
<span>{{orgInfo}}</span>
<div class="grade">
@@ -169,7 +169,7 @@ import {userAvatarText,cutFullName} from "@/utils/tools.js";
this.uinfo.monthTotalDay = item.total;
}
if(item.statType == 30) {
this.uinfo.uCurrency = item.total;
this.uinfo.uCurrency = item.todays;
}
});
}

View File

@@ -20,10 +20,11 @@
<div style="padding-top:10px;">
<p class="ach-title">TA的成就</p>
<ul class="ach-ul">
<li class="ach-box" v-for="ach in 5">
<img src="/images/medal.png" alt="">
<p>跬步千里</p>
<p>LV.1</p>
<li class="ach-box" v-for="ach in medalList" :key="ach.id">
<!-- <img src="/images/medal.png" alt=""> -->
<medal-img style="width:52px;height:58px" :item="ach"></medal-img>
<p>{{ach.medalName}}</p>
<p>LV.{{ach.medalLevel}}</p>
</li>
</ul>
</div>
@@ -47,24 +48,34 @@
<script>
import top from '../../layout/components/TopNav/Index.vue'
import UcHeader from '@/components/HomePage/homePage.vue'
import CaseList from '@/components/HomePage/caseList.vue'
import CourseList from '@/components/HomePage/courseList.vue'
import NoteList from "@/components/HomePage/noteList.vue"
import PutList from "@/components/HomePage/putTo.vue"
import AnswerList from "@/components/HomePage/answerList.vue"
import ArticleList from "@/components/HomePage/articleList.vue"
import FollowList from "@/components/HomePage/followList.vue"
import BookList from "@/components/HomePage/bookList.vue"
import MedalImg from '@/components/Portal/medalImg.vue';
import apiStat from '@/api/phase2/stat.js';
import { mapGetters } from 'vuex';
export default{
components:{top,UcHeader,CaseList,CourseList,NoteList,PutList,AnswerList,ArticleList,FollowList,BookList},
components:{top,UcHeader,MedalImg},
data(){
return{
input:'',
activeName:'first',
pageId:'',
medalList:[]
}
},
mounted() {
console.log(this.$route.query.id);
this.pageId = this.$route.query.id;
this.getMedal();
},
methods:{
getMedal() {
apiStat.userMedal(this.pageId).then(res=>{
if(res.status == 200) {
this.medalList = res.result;
}
})
},
handleClick() {
}
@@ -168,15 +179,29 @@
flex-wrap: wrap;
border-bottom: 1px solid rgba($color: #999999, $alpha: 0.21);
padding-bottom: 4px;
.ach-box{
flex: 33%;
width: 57px;
::v-deep .ach-box{
// flex: 33%;
width: 58px;
// margin: 0 auto;/
text-align: center;
margin-left: 4px;
margin-right: 40px;
margin-bottom: 18px;
img{
width: 52px;
height: 58px;
margin-bottom: 4px;
&:nth-child(3){
margin-right: 0px;
}
.medal-text{
font-size: 12px;
transform: scale(.5);
width: 58px;
}
.medal-icon .medal-level{
top:18%;
left:-6%;
}
.medal-icon .medal-name{
bottom: 3%;
left:-6%;
}
p{
font-size: 14px;

View File

@@ -6,44 +6,56 @@
<i style="color: #333333" class="el-icon-search"></i>
</div>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane name="first">
<el-tab-pane name="">
<span slot="label"><svg-icon icon-class="home-dynamic" style="font-size: 30px;"></svg-icon> <span class="tabs-info">动态</span></span>
动态
</el-tab-pane>
<el-tab-pane name="second">
<el-tab-pane name="1">
<span slot="label"><svg-icon icon-class="home-course" style="font-size: 30px;"></svg-icon><span class="tabs-info">课程</span></span>
<course-list></course-list>
<course-list :list="cousrePageList"></course-list>
</el-tab-pane>
<el-tab-pane name="case">
<el-tab-pane name="3">
<span slot="label"><svg-icon icon-class="home-case" style="font-size: 30px;"></svg-icon><span class="tabs-info">案例</span></span>
<case-list></case-list>
<case-list :list="casePageList"></case-list>
</el-tab-pane>
<el-tab-pane name="note">
<el-tab-pane name="6">
<span slot="label"><svg-icon icon-class="home-note" style="font-size: 30px;"></svg-icon><span class="tabs-info">笔记</span></span>
<note-list></note-list>
<note-list :list="notePageList"></note-list>
</el-tab-pane>
<el-tab-pane name="qa">
<el-tab-pane name="4">
<span slot="label"><svg-icon icon-class="home-qa" style="font-size: 30px;"></svg-icon><span class="tabs-info">提问</span></span>
<put-list></put-list>
<put-list :list="qaPageList"></put-list>
</el-tab-pane>
<el-tab-pane name="answer">
<el-tab-pane name="5">
<span slot="label"><svg-icon icon-class="home-answer" style="font-size: 30px;"></svg-icon><span class="tabs-info">回答</span></span>
<answer-list></answer-list>
<answer-list :list="answerPageList"></answer-list>
</el-tab-pane>
<el-tab-pane name="article">
<el-tab-pane name="2">
<span slot="label"><svg-icon icon-class="home-article" style="font-size: 30px;"></svg-icon><span class="tabs-info">文章</span></span>
<article-list></article-list>
<article-list :list="articlePageList"></article-list>
</el-tab-pane>
<el-tab-pane name="fourth">
<el-tab-pane name="7">
<span slot="label"><svg-icon icon-class="home-follow" style="font-size: 30px;"></svg-icon><span class="tabs-info">关注</span></span>
<follow-list></follow-list>
</el-tab-pane>
<el-tab-pane name="book">
<el-tab-pane name="8">
<span slot="label"><svg-icon icon-class="home-book" style="font-size: 30px;"></svg-icon><span class="tabs-info">书籍</span></span>
<book-list></book-list>
</el-tab-pane>
</el-tabs>
<div style="width:200px"></div>
<div style="text-align: center; margin-top:57px;" v-show="page.count > 0">
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="page.pageIndex"
:page-sizes="[10, 20, 30, 40]"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.count">
</el-pagination>
</div>
<div style="height:200px"></div>
</div>
</template>
@@ -58,20 +70,270 @@
import ArticleList from "@/components/HomePage/articleList.vue"
import FollowList from "@/components/HomePage/followList.vue"
import BookList from "@/components/HomePage/bookList.vue"
import apiStat from '@/api/phase2/stat.js';
import apiCourse from '@/api/modules/course.js'
import apiArticle from '@/api/modules/article.js'
import apiCases from '@/api/modules/cases.js'
import apiQa from '@/api/modules/qa.js'
import apiNote from '@/api/phase2/note.js'
import { mapGetters } from 'vuex';
import apiUser from "@/api/system/user.js";
import {cutFullName} from "@/utils/tools.js";
export default{
components:{top,UcHeader,CaseList,CourseList,NoteList,PutList,AnswerList,ArticleList,FollowList,BookList},
computed: {
...mapGetters(['userInfo']),
},
data(){
return{
page:{
pageIndex:1,
pageSize:10,
count:0
},
input:'',
activeName:'first',
activeName:'',
pageId:'',
pageList:[],
casePageList:[],
notePageList:[],
articlePageList:[],
qaPageList:[],
answerPageList:[],
cousrePageList:[],
}
},
methods:{
handleClick() {
mounted() {
this.pageId = this.$route.query.id;
this.getList();
},
methods:{
handleSizeChange(val) {
this.page.pageSize = val;
this.page.pageIndex = 1;
this.getList();
},
handleCurrentChange(val) {
this.page.pageIndex = val;
this.getList();
},
getList() {
let data = {
pageIndex:this.page.pageIndex,
pageSize:this.page.pageSize,
contentType:this.activeName,//内容类型
aid:this.pageId, //指定用户的动态,
hidden:true,//是否隐藏,不指定,查询全部
}
apiStat.userDynamicList(data).then(res=>{
if(res.status == 200) {
this.page.count = res.result.count;
let ids = res.result.list.map(item=>item.contentId);
const noReapetIds = [...new Set(ids)];
res.result.list.forEach(item=>{
item.info = {};
item.authorInfo = {
aid: "",
name: "",
orgInfo: "",
avatar: "",
sex: null
}
item.isAll = false;
})
if(this.activeName == 1){
this.cousrePageList = res.result.list
this.getCourse(noReapetIds,res.result.list);
}
if(this.activeName == 2) {
this.articlePageList = res.result.list;
this.getArticle(noReapetIds,res.result.list);
}
if(this.activeName == 3) {
this.casePageList = res.result.list;
this.getCase(noReapetIds,res.result.list);
}
}
}
if(this.activeName == 6) { // 笔记
this.getNote(noReapetIds,res.result.list);
this.notePageList = res.result.list;
}
if(this.activeName == 4) { // 提问
this.qaPageList = res.result.list;
this.getQa(noReapetIds,res.result.list);
}
if(this.activeName == 5) { // 回答
this.answerPageList = res.result.list;
this.getAnswer(ids,res.result.list);
}
}
})
},
getAnswer(ids,list){
if(ids.length == 0){
return
}
apiQa.answerIds(ids).then(res=>{
if(res.status == 200) {
list.forEach((item, index) => {
res.result.some(con => {
if (con.id == item.contentId) {
item.info = con;
return true;
} else {
return false;
}
});
});
}
})
},
getQa(ids,list){
apiQa.ids(ids).then(res=>{
if(res.status == 200) {
list.forEach((item, index) => {
res.result.some(con => {
if (con.id == item.contentId) {
item.info = con;
return true;
} else {
return false;
}
});
});
}
})
},
getNote(ids,list) {
apiNote.ids(ids).then(res=>{
if(res.status == 200) {
list.forEach((item, index) => {
res.result.some(con => {
if (con.id == item.contentId) {
item.info = con;
return true;
} else {
return false;
}
});
});
}
})
},
getCase(ids,list){
apiCases.ids(ids).then(res=>{
if(res.status == 200) {
list.forEach((item, index) => {
res.result.some(con => {
if (con.id == item.contentId) {
item.info = con;
return true;
} else {
return false;
}
});
});
this.getCaseUserData(list);
}
})
},
getCaseUserData(list) {
// let ids = caseList.map((item, index) => {
// return item.info.authorId;
// });
// const noReapetIds = [...new Set(ids)];
let data = list.filter((item, index) => {
return item.info && item.info.authorId != null;
});
let ids = data.map((item, index) => {
return item.info.authorId;
});
const noReapetIds = [...new Set(ids)];
apiUser.getByIds(noReapetIds).then(res => {
if (res.status == 200) {
list.forEach((item, index) => {
res.result.some(author => {
if (author.aid == item.info.authorId) {
item.authorInfo = author;
author.orgInfo=cutFullName(author.orgInfo,1);
return true;
} else {
return false;
}
});
});
} else {
this.$message.error(res.message);
}
});
},
getArticle(ids,list){
apiArticle.ids(ids).then(res=>{
if(res.status == 200) {
list.forEach((item, index) => {
res.result.some(con => {
if (con.id == item.contentId) {
item.info = con;
return true;
} else {
return false;
}
});
});
this.getArticleUserData(list);
}
})
},
getArticleUserData(list) {
let data = list.filter((item, index) => {
return item.info && item.info.sysCreateAid != null;
});
let ids = data.map((item, index) => {
return item.info.sysCreateAid;
});
const noReapetIds = [...new Set(ids)];
apiUser.getByIds(noReapetIds).then(res => {
if (res.status == 200) {
list.forEach((item, index) => {
res.result.some(author => {
if (author.aid == item.info.sysCreateAid) {
item.authorInfo = author;
author.orgInfo=cutFullName(author.orgInfo,1);
return true;
} else {
return false;
}
});
});
} else {
this.$message.error(res.message);
}
});
},
getCourse(ids,list) {
apiCourse.ids(ids).then(res=>{
if(res.status == 200) {
list.forEach((item, index) => {
res.result.some(con => {
if (con.id == item.contentId) {
item.info = con;
return true;
} else {
return false;
}
});
});
// this.getArticleUserData(list);
}
})
},
handleClick() {
this.getList();
}
},
watch:{
},
}
</script>

View File

@@ -172,24 +172,6 @@ export default {
this.handleScroll
);
this.couresreso();
let event = {
key: "ViewArticle",//后台的事件key 发布文章且审核通过
title: "阅读文章事件",//事件的标题
parameters:"",//用户自定义参数 name:value,name:value
content: "记录阅读事件",//事件的内容
objId: this.articleId,//关联的id
objType: "2",//关联的类型
objInfo: "文章",
aid: this.userInfo.aid, //当前登录人的id
aname: this.userInfo.name,//当前人的姓名
status: 1 //状态直接写1
}
this.$store.dispatch("userTrigger", event);
this.setTime = setTimeout(()=>{
event.key = 'ReadArticle';
event.title = '阅读文章大于等于2分钟';
this.$store.dispatch("userTrigger", event);
},1000 * 60 *2)
},
beforeDestroy(){
window.removeEventListener("scroll",this.handleScroll);
@@ -246,6 +228,24 @@ export default {
this.articleDetailData=res.result;
//if(this.articleDetailData.toString()!='{}'){
this.getAuthorInfo(this.articleDetailData)
let event = {
key: "ViewArticle",//后台的事件key 发布文章且审核通过
title: "阅读文章事件",//事件的标题
parameters:"",//用户自定义参数 name:value,name:value
content: this.articleDetailData.title,//事件的内容
objId: this.articleId,//关联的id
objType: "2",//关联的类型
objInfo: "文章",
aid: this.userInfo.aid, //当前登录人的id
aname: this.userInfo.name,//当前人的姓名
status: 1 //状态直接写1
}
this.$store.dispatch("userTrigger", event);
this.setTime = setTimeout(()=>{
event.key = 'ReadArticle';
event.title = this.articleDetailData.title;
this.$store.dispatch("userTrigger", event);
},1000 * 60 *2)
//}
}else{
this.noData = false;

View File

@@ -232,9 +232,9 @@ export default {
);
let event = {
key: "ViewCase",//后台的事件key 发布文章且审核通过
title: "阅读案例",//事件的标题
title: this.caseDetail.title,//事件的标题
parameters:"",//用户自定义参数 name:value,name:value
content: "打开案例事",//事件的内容
content: this.caseDetail.summary,//事件的内容
objId: this.resolveId,//关联的id
objType: "3",//关联的类型
objInfo: "案例",
@@ -245,8 +245,8 @@ export default {
this.$store.dispatch("userTrigger", event);
this.setTimeCase = setTimeout(()=>{
event.key = 'ReadCase';
event.title = '阅读案例大于等于3分钟';
event.content = '打开案例详细页面案例内容加载成功后停留时间达到3分钟时触发';
event.title = this.caseDetail.title;
event.content = this.caseDetail.summary;
this.$store.dispatch("userTrigger", event);
},1000 * 60 *3)
},

View File

@@ -419,19 +419,6 @@ export default {
window.addEventListener("scroll", this.handleScroll);
this.getAnkingData();
this.couresreso();
let event = {
key: "ReadQuestion",//后台的事件key 发布文章且审核通过
title: "阅读问题",//事件的标题
parameters:"",//用户自定义参数 name:value,name:value
content: "打开问题页面时触发",//事件的内容
objId: this.qid,//关联的id
objType: "4",//关联的类型
objInfo: "问答",
aid: this.userInfo.aid, //当前登录人的id
aname: this.userInfo.name,//当前人的姓名
status: 1 //状态直接写1
}
this.$store.dispatch("userTrigger", event);
},
beforeDestroy() {
window.removeEventListener("scroll", this.handleScroll);
@@ -532,6 +519,19 @@ export default {
if (JSON.stringify(this.detailData) != "{}") {
this.getQaUserData(this.detailData);
}
let event = {
key: "ReadQuestion",//后台的事件key 发布文章且审核通过
title: "阅读问题",//事件的标题
parameters:"",//用户自定义参数 name:value,name:value
content: this.detailData.title,//事件的内容
objId: this.qid,//关联的id
objType: "4",//关联的类型
objInfo: "问答",
aid: this.userInfo.aid, //当前登录人的id
aname: this.userInfo.name,//当前人的姓名
status: 1 //状态直接写1
}
this.$store.dispatch("userTrigger", event);
} else {
this.noData = false;
this.$message.error(res.message);
@@ -691,9 +691,9 @@ export default {
key: "AnswerQuestion",//后台的事件key
title: "回答问题",//事件的标题
parameters:"",//用户自定义参数 name:value,name:value
content: "回答别人提出的问题",//事件的内容
objId: this.qid,//关联的id
objType: "4",//关联的类型
content: this.detailData.title,//事件的内容
objId: res.result.id,//关联的id
objType: "5",//关联的类型
objInfo: "问答",
aid: this.userInfo.aid, //当前登录人的id
aname: this.userInfo.name,//当前人的姓名

View File

@@ -394,6 +394,7 @@ export default {
let $this = this;
this.resType = r.contentType;
this.contentData = r;
this.contentData.name = this.courseInfo.name;
this.saveStudyDuration();
if(r.contentType == 10 || r.contentType == 20) {