This commit is contained in:
lmj
2022-09-16 11:43:53 +08:00
parent 4f8ab71d5b
commit 7fe5a70e50
5 changed files with 277 additions and 73 deletions

View File

@@ -4,22 +4,50 @@
<h3>我的笔记</h3>
<div>
<el-button>导入</el-button>
<el-button @click="dialogVisible = true">导出</el-button>
<!-- <el-button @click="dialogVisible = true">导出</el-button> -->
<el-select @click="dialogVisible = true" style="width:160px;height:40px;margin-left:20px;" v-model="courseId" placeholder="导出">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</div>
<div class="note-sift">
<el-date-picker
@change="Time()"
value-format="yyyy-MM-dd HH:mm:ss"
class="el-buttons"
v-model="value1"
v-model="Filtertime"
type="daterange"
start-placeholder="开始"
end-placeholder="结束"
>
</el-date-picker>
<!-- <i class="el-icon-arrow-down"></i> -->
<el-button class="el-buttons el-dropdown-link">全部课程 <i class="el-icon-arrow-down"></i></el-button>
<el-button class="el-buttons">发布时间 <i class="el-icon-bottom"></i></el-button>
<el-button class="el-buttons">点赞次数 <i class="el-icon-bottom"></i></el-button>
<el-select @change="noteData(num)" style="width:160px;height:40px;margin-left:20px;" v-model="courseId" placeholder="全部课程">
<el-option
v-for="(item,idx) in couresna"
:key="idx"
:label="item.courseName"
:value="item.courseId">
</el-option>
</el-select>
<el-button @click="publish" class="el-buttons">
发布时间
<i v-if="ordertime" class="el-icon-bottom"></i>
<i v-else class="el-icon-upload2"></i>
</el-button>
<el-button @click="thumbs" class="el-buttons">
点赞次数
<i v-if="orderpiss" class="el-icon-bottom"></i>
<i v-else class="el-icon-upload2"></i>
</el-button>
</div>
<div class="note-tab">
<div class="tabcontent">
@@ -38,12 +66,16 @@
</div>
<div class="all-content">
{{ item.content }}
<img v-if="item.filePath" :src="fileBaseUrl + item.filePath" alt="">
</div>
<div class="all-footer">
<div>
<div class="textbut-box">
<!-- <interactBar nodeWidth="60px" :readonly="true" :type="4" :data="datalist" :shares="true" :comments="false" :answers="true" :clickAnswer="true" :views="false"></interactBar> -->
<el-button style=" margin-right: 10px;" class="textbut" type="text"> <i class="el-icon-delete"></i> 删除</el-button><el-button @click="edit" class="textbut" type="text"> <i class="el-icon-edit"></i> 编辑</el-button>
<interactBar nodeWidth="60px" :readonly="true" :type="6" :data="datalist" :shares="false" :comments="false" :answers="true" :clickAnswer="true" :views="false"></interactBar>
<el-button @click="open(item)" style=" margin-right: 10px;" class="textbut" type="text">
<svg-icon icon-class="notedel" ></svg-icon> 删除</el-button>
<el-button @click="edit(item)" class="textbut" type="text">
<svg-icon icon-class="noteedit" ></svg-icon> 编辑</el-button>
</div>
</div>
</div>
@@ -62,8 +94,11 @@
<div class="all-footer">
<div>
<div class="textbut-box">
<!-- <interactBar nodeWidth="60px" :readonly="true" :type="4" :data="datalist" :shares="true" :comments="false" :answers="true" :clickAnswer="true" :views="false"></interactBar> -->
<el-button style=" margin-right: 10px;" class="textbut" type="text"> <i class="el-icon-delete"></i> 删除</el-button><el-button @click="edit" class="textbut" type="text"> <i class="el-icon-edit"></i> 编辑</el-button>
<interactBar nodeWidth="60px" :readonly="true" :type="6" :data="datalist" :shares="false" :comments="false" :answers="true" :clickAnswer="true" :views="false"></interactBar>
<el-button @click="open(item)" style=" margin-right: 10px;" class="textbut" type="text">
<svg-icon icon-class="notedel" ></svg-icon> 删除</el-button>
<el-button @click="edit(item)" class="textbut" type="text">
<svg-icon icon-class="noteedit" ></svg-icon> 编辑</el-button>
</div>
</div>
</div>
@@ -78,14 +113,16 @@
</div>
<div class="all-content">
<img src="../../../public/images/course.png" alt="">
<img src="" alt="">
<img src="" alt="">
<!-- <img v-if="item.filePath" :src="fileBaseUrl + item.filePath" alt=""> -->
</div>
<div class="all-footer">
<div>
<div class="textbut-box">
<!-- <interactBar nodeWidth="60px" :readonly="true" :type="4" :data="qa" @addAnswers="qaAnswer(qa)" :shares="true" :comments="false" :answers="true" :clickAnswer="true" :views="false"></interactBar> -->
<el-button style=" margin-right: 10px;" class="textbut" type="text"> <i class="el-icon-delete"></i> 删除</el-button><el-button @click="edit" class="textbut" type="text"> <i class="el-icon-edit"></i> 编辑</el-button>
<div class="textbut-box">
<interactBar nodeWidth="60px" :readonly="true" :type="6" :data="datalist" :shares="false" :comments="false" :answers="true" :clickAnswer="true" :views="false"></interactBar>
<el-button @click="open(item)" style=" margin-right: 10px;" class="textbut" type="text">
<svg-icon icon-class="notedel" ></svg-icon> 删除</el-button>
<el-button @click="edit(item)" class="textbut" type="text">
<svg-icon icon-class="noteedit" ></svg-icon> 编辑</el-button>
</div>
</div>
</div>
@@ -104,12 +141,16 @@
</div>
<div class="all-content">
{{ item.content }}
<img v-if="item.filePath" :src="fileBaseUrl + item.filePath" alt="">
</div>
<div class="all-footer">
<div>
<div class="textbut-box">
<!-- <interactBar nodeWidth="60px" :readonly="true" :type="4" :data="datalist" :shares="true" :comments="false" :answers="true" :clickAnswer="true" :views="false"></interactBar> -->
<el-button style=" margin-right: 10px;" class="textbut" type="text"> <i class="el-icon-delete"></i> 删除</el-button><el-button @click="edit" class="textbut" type="text"> <i class="el-icon-edit"></i> 编辑</el-button>
<interactBar nodeWidth="60px" :readonly="true" :type="6" :data="datalist" :shares="false" :comments="false" :answers="true" :clickAnswer="true" :views="false"></interactBar>
<el-button @click="open(item)" style=" margin-right: 10px;" class="textbut" type="text">
<svg-icon icon-class="notedel" ></svg-icon> 删除</el-button>
<el-button @click="edit(item)" class="textbut" type="text">
<svg-icon icon-class="noteedit" ></svg-icon> 编辑</el-button>
</div>
</div>
</div>
@@ -127,12 +168,16 @@
</div>
<div class="all-content">
{{ item.content }}
<img v-if="item.filePath" :src="fileBaseUrl + item.filePath" alt="">
</div>
<div class="all-footer">
<div>
<div class="textbut-box">
<!-- <interactBar nodeWidth="60px" :readonly="true" :type="4" :data="datalist" :shares="true" :comments="false" :answers="true" :clickAnswer="true" :views="false"></interactBar> -->
<el-button style=" margin-right: 10px;" class="textbut" type="text"> <i class="el-icon-delete"></i> 删除</el-button><el-button @click="edit" class="textbut" type="text"> <i class="el-icon-edit"></i> 编辑</el-button>
<interactBar nodeWidth="60px" :readonly="true" :type="6" :data="datalist" :shares="false" :comments="false" :answers="true" :clickAnswer="true" :views="false"></interactBar>
<el-button @click="open(item)" style=" margin-right: 10px;" class="textbut" type="text">
<svg-icon icon-class="notedel" ></svg-icon> 删除</el-button>
<el-button @click="edit(item)" class="textbut" type="text">
<svg-icon icon-class="noteedit" ></svg-icon> 编辑</el-button>
</div>
</div>
</div>
@@ -190,43 +235,111 @@
</template>
<script>
import apiNote from '@/api/phase2/note.js'
import apiNote from '@/api/phase2/note.js';
import interactBar from '@/components/Portal/interactBar.vue';
export default {
components:{interactBar},
data(){
return{
fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL,
options: [{
value: '选项1',
label: 'PDF'
}, {
value: '选项2',
label: 'Excel'
}],
value1: '起止时间',
num :null,
dialogVisible: false,
pageIndex:1,
paegSize:1,
orderType:'',
orderField:'praises',
orderType:true,
orderField:'',
courseId:'',
endTime:'',
startTime:'',
endTime:'',
datalist:[ ],
thu:true,
couresna:[],
courseName:'',
ordertime:true,
orderpiss:true,
Filtertime:[],
}
},
mounted(){
this.noteData(null)
this.noteData(null);
this.allcoures();
},
methods: {
Time(){
this.startTime = this.Filtertime[0];
this.endTime = this.Filtertime[1];
console.log(this.Filtertime[0]);
this.noteData(this.num);
},
open(item) {
this.$confirm('移除后将不在笔记列表中展示', '确定要删除您的笔记吗?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
apiNote.del(item.id).then(res=>{
this.noteData(this.num);
this.$message({
type: 'success',
message: '删除成功!'
});
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
console.log(item.id)
},
couresitem(item){
console.log(item.courseId)
this.courseId = item.courseId;
this.noteData(this.num)
},
allcoures(){
apiNote.course().then(res=>{
this.couresna = res.result
})
},
publish(){
this.ordertime = !this.ordertime;
this.orderType = !this.orderType;
this.noteData(this.num)
},
thumbs(){
this.orderpiss = !this.orderpiss;
this.orderField = 'praises';
this.orderType = !this.orderType;
this.noteData(this.num)
},
handleClose(done) {
},
edit(){
this.$router.push({ path: '/user/Noteedit' });
edit(item){
this.$router.push({ path: `/user/Noteedit?id=${item.id}` });
},
noteData(tab){
console.log(tab)
// console.log(tab)
this.num = tab
let data = {
pageIndex:this.pageIndex,
@@ -235,14 +348,14 @@ export default {
orderField:this.orderField,
courseId:this.courseId,
type:this.num,
startTime:this.endTime,
endTime:this.endTime
startTime:this.startTime,
endTime:this.endTime,
}
apiNote.query(data).then(res=>{
console.log(res);
// console.log(res);
this.datalist = res.result.list
console.log(this.datalist,'111lmj')
// console.log(this.datalist,'111lmj')
})
},
@@ -251,7 +364,7 @@ export default {
const hour = parseInt(time / 3600) < 10 ? '0' + parseInt(time / 3600) : parseInt(time / 3600)
const min = parseInt(time % 3600 / 60) < 10 ? '0' + parseInt(time % 3600 / 60) : parseInt(time % 3600 / 60)
const sec = parseInt(time % 3600 % 60) < 10 ? '0' + parseInt(time % 3600 % 60) : parseInt(time % 3600 % 60)
console.log(hour + ':' + min + ':' + sec)
// console.log(hour + ':' + min + ':' + sec)
return hour + ':' + min + ':' + sec
}
@@ -260,6 +373,30 @@ export default {
</script>
<style lang="scss" scoped>
.el-select-dropdown__item{
width: 140px !important;
}
.el-input--medium .el-input__inner{
height: 40px;
line-height: 40px;
}
.el-dropdown-menu--medium .el-dropdown-menu__item{
width: 140px !important;
height: 30px !important;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
display: block;
word-break:break-all;
}
.el-dropdown-menu--medium{
padding: 12px 10px;
overflow: hidden;
}
.el-popper{
margin-top: 5px;
}
.Export-info:last-child{
border: none;
}
@@ -368,7 +505,7 @@ export default {
.tabcontent{
span{
margin-right: 45px;
padding: 0 6px;
padding: 0 7px;
text-align: center;
padding-bottom: 14px;
display: inline-block;
@@ -376,8 +513,9 @@ export default {
}
.tab-textactive{
border-bottom: 3px solid #3379FB;
border-bottom: 4px solid #3379FB;
transform: all 0.3s;
font-weight: 600;
}
.note-tab{
height: 40px;