整理

上级 f084ce64
.login-container[data-v-1be4e8ce]{background-color:#35495e;height:100%}.login-container .login-box[data-v-1be4e8ce]{width:400px;height:250px;background-color:#fff;border-radius:3px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px hsla(0,0%,100%,.5)}.login-container .login-box .form-login[data-v-1be4e8ce]{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box}.form-control[data-v-1be4e8ce]{flex:1}.avatar-box[data-v-1be4e8ce]{position:absolute;width:100%;top:-65px;left:0}.avatar-box .avatar[data-v-1be4e8ce]{width:120px;height:120px;border-radius:50%!important;box-shadow:0 0 6px #efefef}.layout-header-container[data-v-1eaf2085]{height:60px;border-bottom:1px solid #eaeaea}.layout-header-left-img[data-v-1eaf2085]{height:50px}.layout-aside-container[data-v-71932282]{width:200px;height:100%;border-right:1px solid #eaeaea}.left-aside-item[data-v-71932282]{font-size:20px}.el-main{padding:20px 3px!important}.el-header[data-v-15b8f4b2]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-15b8f4b2]{color:#333}.pagination[data-v-15b8f4b2]{margin-top:16px;text-align:right}.arrow-button[data-v-15b8f4b2]{display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;cursor:pointer}.custom-icon[data-v-15b8f4b2]{font-size:24px;color:#f90;margin-right:6px}.arrow-button.disabled[data-v-15b8f4b2]{pointer-events:none;opacity:.1}.el-header[data-v-06991ced]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-06991ced]{color:#333}.pagination[data-v-06991ced]{margin-top:16px;text-align:right}.header-button-item[data-v-06991ced]{margin-right:15px;font-size:20px}.backtop[data-v-06991ced]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.backtop[data-v-06991ced]:hover{background-color:#0050a0}.el-header[data-v-c5d18cf4]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-c5d18cf4]{color:#333}.pagination[data-v-c5d18cf4]{margin-top:16px;text-align:right}.header-button-item[data-v-c5d18cf4]{margin-right:15px;font-size:20px}.red-title[data-v-c5d18cf4]{line-height:24px;font-size:18px;color:red}.backtop[data-v-c5d18cf4]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-c5d18cf4]{width:100%;text-align:left}.backtop[data-v-c5d18cf4]:hover{background-color:#0050a0}.el-header[data-v-3f842b70]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-3f842b70]{color:#333}.pagination[data-v-3f842b70]{margin-top:16px;text-align:right}.header-button-item[data-v-3f842b70]{margin-right:15px;font-size:20px}.red-title[data-v-3f842b70]{line-height:24px;font-size:18px;color:red}.backtop[data-v-3f842b70]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-3f842b70]{width:100%;text-align:left}.backtop[data-v-3f842b70]:hover{background-color:#0050a0}.el-header[data-v-6bb76c1c]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-6bb76c1c]{color:#333}.pagination[data-v-6bb76c1c]{margin-top:16px;text-align:right}.header-button-item[data-v-6bb76c1c]{margin-right:15px;font-size:20px}.red-title[data-v-6bb76c1c]{line-height:24px;font-size:18px;color:red}.backtop[data-v-6bb76c1c]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-6bb76c1c]{width:100%;text-align:left}.backtop[data-v-6bb76c1c]:hover{background-color:#0050a0}.el-header[data-v-d1510630]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-d1510630]{color:#333}.pagination[data-v-d1510630]{margin-top:16px;text-align:right}.header-button-item[data-v-d1510630]{margin-right:15px;font-size:20px}.red-title[data-v-d1510630]{line-height:24px;font-size:18px;color:red}.backtop[data-v-d1510630]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-d1510630]{width:100%;text-align:left}.backtop[data-v-d1510630]:hover{background-color:#0050a0}.el-header[data-v-77361692]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-77361692]{color:#333}.pagination[data-v-77361692]{margin-top:16px;text-align:right}.header-button-item[data-v-77361692]{margin-right:15px;font-size:20px}.red-title[data-v-77361692]{line-height:24px;font-size:18px;color:red}.backtop[data-v-77361692]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-77361692]{width:100%;text-align:left}.backtop[data-v-77361692]:hover{background-color:#0050a0}.button-container[data-v-9d5d30a4]{position:fixed;bottom:0;right:0;margin:16px}.container[data-v-ddc6c3e0]{display:flex;justify-content:center;align-items:center;height:30vh}
.login-container[data-v-1be4e8ce]{background-color:#35495e;height:100%}.login-container .login-box[data-v-1be4e8ce]{width:400px;height:250px;background-color:#fff;border-radius:3px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px hsla(0,0%,100%,.5)}.login-container .login-box .form-login[data-v-1be4e8ce]{position:absolute;bottom:0;left:0;width:100%;box-sizing:border-box}.form-control[data-v-1be4e8ce]{flex:1}.avatar-box[data-v-1be4e8ce]{position:absolute;width:100%;top:-65px;left:0}.avatar-box .avatar[data-v-1be4e8ce]{width:120px;height:120px;border-radius:50%!important;box-shadow:0 0 6px #efefef}.layout-header-left-img[data-v-747b32ea]{height:50px}.layout-aside-container[data-v-605e601d]{width:200px;height:100%;border-right:1px solid #eaeaea}.left-aside-item[data-v-605e601d]{font-size:20px}.el-main{padding:20px 3px!important}.el-header[data-v-15b8f4b2]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-15b8f4b2]{color:#333}.pagination[data-v-15b8f4b2]{margin-top:16px;text-align:right}.arrow-button[data-v-15b8f4b2]{display:flex;align-items:center;justify-content:center;border:none;background-color:transparent;cursor:pointer}.custom-icon[data-v-15b8f4b2]{font-size:24px;color:#f90;margin-right:6px}.arrow-button.disabled[data-v-15b8f4b2]{pointer-events:none;opacity:.1}.el-header[data-v-0be38d50]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-0be38d50]{color:#333}.pagination[data-v-0be38d50]{margin-top:16px;text-align:right}.header-button-item[data-v-0be38d50]{margin-right:15px;font-size:20px}.backtop[data-v-0be38d50]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.backtop[data-v-0be38d50]:hover{background-color:#0050a0}.el-header[data-v-8d787e5a]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-8d787e5a]{color:#333}.pagination[data-v-8d787e5a]{margin-top:16px;text-align:right}.header-button-item[data-v-8d787e5a]{margin-right:15px;font-size:20px}.red-title[data-v-8d787e5a]{line-height:24px;font-size:18px;color:red}.backtop[data-v-8d787e5a]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-8d787e5a]{width:100%;text-align:left}.backtop[data-v-8d787e5a]:hover{background-color:#0050a0}.el-header[data-v-1320254c]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-1320254c]{color:#333}.pagination[data-v-1320254c]{margin-top:16px;text-align:right}.header-button-item[data-v-1320254c]{margin-right:15px;font-size:20px}.red-title[data-v-1320254c]{line-height:24px;font-size:18px;color:red}.backtop[data-v-1320254c]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-1320254c]{width:100%;text-align:left}.backtop[data-v-1320254c]:hover{background-color:#0050a0}.el-header[data-v-834ece92]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-834ece92]{color:#333}.pagination[data-v-834ece92]{margin-top:16px;text-align:right}.header-button-item[data-v-834ece92]{margin-right:15px;font-size:20px}.red-title[data-v-834ece92]{line-height:24px;font-size:18px;color:red}.backtop[data-v-834ece92]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-834ece92]{width:100%;text-align:left}.backtop[data-v-834ece92]:hover{background-color:#0050a0}.el-header[data-v-0d841a2a]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-0d841a2a]{color:#333}.pagination[data-v-0d841a2a]{margin-top:16px;text-align:right}.header-button-item[data-v-0d841a2a]{margin-right:15px;font-size:20px}.red-title[data-v-0d841a2a]{line-height:24px;font-size:18px;color:red}.backtop[data-v-0d841a2a]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-0d841a2a]{width:100%;text-align:left}.backtop[data-v-0d841a2a]:hover{background-color:#0050a0}.el-header[data-v-033c4ad2]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-033c4ad2]{color:#333}.pagination[data-v-033c4ad2]{margin-top:16px;text-align:right}.header-button-item[data-v-033c4ad2]{margin-right:15px;font-size:20px}.red-title[data-v-033c4ad2]{line-height:24px;font-size:18px;color:red}.backtop[data-v-033c4ad2]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-033c4ad2]{width:100%;text-align:left}.backtop[data-v-033c4ad2]:hover{background-color:#0050a0}.el-header[data-v-6e6ab333]{background-color:#b3c0d1;color:#333;line-height:60px}.el-aside[data-v-6e6ab333]{color:#333}.pagination[data-v-6e6ab333]{margin-top:16px;text-align:right}.header-button-item[data-v-6e6ab333]{margin-right:15px;font-size:20px}.red-title[data-v-6e6ab333]{line-height:24px;font-size:18px;color:red}.backtop[data-v-6e6ab333]{position:fixed;bottom:50px;right:50px;height:40px;width:40px;line-height:40px;text-align:center;border-radius:20px;background-color:#007aff;color:#fff;cursor:pointer;z-index:999}.custom-textarea[data-v-6e6ab333]{width:100%;text-align:left}.backtop[data-v-6e6ab333]:hover{background-color:#0050a0}.button-container[data-v-9d5d30a4]{position:fixed;bottom:0;right:0;margin:16px}.container[data-v-ddc6c3e0]{display:flex;justify-content:center;align-items:center;height:30vh}
/*!
* Bootstrap v4.5.0 (https://getbootstrap.com/)
......
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/kwan.png"><title>kwan</title><link href="/css/app.ac53a82d.css" rel="preload" as="style"><link href="/css/chunk-vendors.bedbfba9.css" rel="preload" as="style"><link href="/js/app.f519624b.js" rel="preload" as="script"><link href="/js/chunk-vendors.8385d186.js" rel="preload" as="script"><link href="/css/chunk-vendors.bedbfba9.css" rel="stylesheet"><link href="/css/app.ac53a82d.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but kwan doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/js/chunk-vendors.8385d186.js"></script><script src="/js/app.f519624b.js"></script></body></html>
\ No newline at end of file
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/kwan.png"><title>kwan</title><link href="/css/app.af923cd6.css" rel="preload" as="style"><link href="/css/chunk-vendors.bedbfba9.css" rel="preload" as="style"><link href="/js/app.6a2ec81d.js" rel="preload" as="script"><link href="/js/chunk-vendors.8385d186.js" rel="preload" as="script"><link href="/css/chunk-vendors.bedbfba9.css" rel="stylesheet"><link href="/css/app.af923cd6.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but kwan doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/js/chunk-vendors.8385d186.js"></script><script src="/js/app.6a2ec81d.js"></script></body></html>
\ No newline at end of file
此差异已折叠。
因为 它太大了无法显示 source diff 。你可以改为 查看blob
此差异已折叠。
因为 它太大了无法显示 source diff 。你可以改为 查看blob
......@@ -44,7 +44,7 @@
<el-button type="primary" @click="interviewPage">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="prepareRandom">随机一题</el-button>
<el-button type="primary" @click="prepareRandom">随机诗词</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="prepareAdd">新增</el-button>
......@@ -96,201 +96,196 @@
<script>
import axios from 'axios'
export default {
name: 'MyInterview',
name: 'MyInterview',
data() {
return {
// 用户列表数据
algorithmicList: [],
randomAlgorithmic: {
poetryText: '',
},
loading: false,
elementui_page_component_key: 0,
currentPage: Number(localStorage.getItem('poetryLastPage')) || 1,
pageSize: 9,
total: 0,
formInline: {
poetryText: '',
},
// 新增的内容
dialogFormVisible: false,
randomFormVisible: false,
dialogMutiFormVisible: false,
form: {
poetryText: '',
},
formLabelWidth: '120px',
dialogVisible: false,
editVisible: false,
currentRowId: null,
}
},
watch: {
'formInline.poetryText'(newVal, oldVal) {
if (newVal !== oldVal) {
this.currentPage = 1
localStorage.setItem('poetryLastPage', this.currentPage)
this.interviewPage()
}
},
// 监听currentPage的变化,将新值保存到localStorage中
currentPage(newPage) {
localStorage.setItem('poetryLastPage', newPage.toString())
},
},
created() {
//获取问题类型的枚举
this.interviewPage()
},
mounted() {
this.currentPage = 1
// // 在页面加载时从localStorage中获取currentPage的值
// const storedPage = localStorage.getItem('poetryLastPage')
// if (storedPage) {
// this.currentPage = parseInt(storedPage)
// }
},
methods: {
prepareAdd() {
this.form.poetryText = ''
this.dialogFormVisible = true
},
prepareRandom() {
this.randomAlgorithmic = []
this.randomFormVisible = true
this.interviewRandom()
},
prepareMutiAdd() {
this.form.poetryText = ''
data() {
return {
// 用户列表数据
algorithmicList: [],
randomAlgorithmic: {
poetryText: '',
},
loading: false,
elementui_page_component_key: 0,
currentPage: Number(localStorage.getItem('poetryLastPage')) || 1,
pageSize: 9,
total: 0,
formInline: {
poetryText: '',
},
// 新增的内容
dialogFormVisible: false,
randomFormVisible: false,
dialogMutiFormVisible: false,
form: {
poetryText: '',
},
formLabelWidth: '120px',
dialogVisible: false,
editVisible: false,
currentRowId: null,
}
},
watch: {
'formInline.poetryText'(newVal, oldVal) {
if (newVal !== oldVal) {
this.currentPage = 1
localStorage.setItem('poetryLastPage', this.currentPage)
this.interviewPage()
}
},
// 监听currentPage的变化,将新值保存到localStorage中
currentPage(newPage) {
localStorage.setItem('poetryLastPage', newPage.toString())
},
},
created() {
//获取问题类型的枚举
this.interviewPage()
},
mounted() {
this.currentPage = 1
},
methods: {
prepareAdd() {
this.form.poetryText = ''
this.dialogFormVisible = true
},
prepareRandom() {
this.randomAlgorithmic = []
this.randomFormVisible = true
this.interviewRandom()
},
prepareMutiAdd() {
this.form.poetryText = ''
this.dialogMutiFormVisible = true
},
this.dialogMutiFormVisible = true
},
prepareDelete(id) {
this.currentRowId = id
this.dialogVisible = true
},
preEdit(id, poetryText) {
this.form.poetryText = poetryText
this.currentRowId = id
this.editVisible = true
},
handleClose(done) {
this.$confirm('确认关闭?')
.then((_) => {
done()
})
.catch((_) => {})
},
handleConfirm(addType) {
this.dialogFormVisible = false // 关闭对话框
this.dialogMutiFormVisible = false
this.addQuestion(addType) // 发送请求
},
prepareDelete(id) {
this.currentRowId = id
this.dialogVisible = true
},
preEdit(id, poetryText) {
this.form.poetryText = poetryText
this.currentRowId = id
this.editVisible = true
},
handleClose(done) {
this.$confirm('确认关闭?')
.then((_) => {
done()
})
.catch((_) => {})
},
handleConfirm(addType) {
this.dialogFormVisible = false // 关闭对话框
this.dialogMutiFormVisible = false
this.addQuestion(addType) // 发送请求
},
async addQuestion(addType) {
try {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/aphorismPoetry/add', {
addType: addType,
poetryText: this.form.poetryText,
async addQuestion(addType) {
try {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/aphorismPoetry/add', {
addType: addType,
poetryText: this.form.poetryText,
degreeOfImportance: this.form.degreeOfImportance,
degreeOfDifficulty: this.form.degreeOfDifficulty,
difficultyOfScore: this.form.difficultyOfScore,
leetcodeNumber: this.form.leetcodeNumber,
leetcodeLink: this.form.leetcodeLink,
})
if (res.code === 200) {
this.form.poetryText = ''
this.currentPage = 1
this.interviewPage()
} else {
console.error('Received non-200 status code', res)
this.errorMsg(res.message)
}
} catch (error) {
console.error('An error occurred while adding the poetryText:', error)
// 异常处理逻辑
} finally {
this.loading = false
}
},
errorMsg(msg) {
this.$message({
showClose: true,
message: msg,
type: 'error',
})
},
async editConfirm() {
try {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/aphorismPoetry/update', {
id: this.currentRowId,
poetryText: this.form.poetryText,
})
if (res.code === 200) {
this.form.poetryText = ''
this.editVisible = false
currentRowId: null
this.interviewPage()
} else {
console.error('Received non-200 status code', res)
}
} catch (error) {
console.error('An error occurred while adding the poetryText:', error)
// 异常处理逻辑
} finally {
this.loading = false
}
},
degreeOfImportance: this.form.degreeOfImportance,
degreeOfDifficulty: this.form.degreeOfDifficulty,
difficultyOfScore: this.form.difficultyOfScore,
leetcodeNumber: this.form.leetcodeNumber,
leetcodeLink: this.form.leetcodeLink,
})
if (res.code === 200) {
this.form.poetryText = ''
this.currentPage = 1
this.interviewPage()
} else {
console.error('Received non-200 status code', res)
this.errorMsg(res.message)
}
} catch (error) {
console.error('An error occurred while adding the poetryText:', error)
// 异常处理逻辑
} finally {
this.loading = false
}
},
errorMsg(msg) {
this.$message({
showClose: true,
message: msg,
type: 'error',
})
},
async editConfirm() {
try {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/aphorismPoetry/update', {
id: this.currentRowId,
poetryText: this.form.poetryText,
})
if (res.code === 200) {
this.form.poetryText = ''
this.editVisible = false
currentRowId: null
this.interviewPage()
} else {
console.error('Received non-200 status code', res)
}
} catch (error) {
console.error('An error occurred while adding the poetryText:', error)
// 异常处理逻辑
} finally {
this.loading = false
}
},
async onDelete(id) {
this.dialogVisible = false
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/aphorismPoetry/delete', {
params: {
id: id,
},
})
this.interviewPage()
this.loading = false
},
refreshPage() {
//获取问题类型的枚举
this.interviewPage()
location.reload()
},
async interviewPage() {
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/aphorismPoetry/page', {
params: {
page: this.currentPage,
pageSize: this.pageSize,
poetryText: this.formInline.poetryText,
},
})
if (res.code === 200) {
this.total = res.result.totalElements
this.algorithmicList = res.result.content
}
this.loading = false
},
async interviewRandom() {
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/aphorismPoetry/random', { params: {} })
if (res.code === 200) {
this.randomAlgorithmic.poetryText = res.result.poetryText
}
this.loading = false
},
handleCurrentChange(currentPage) {
this.currentPage = currentPage
this.interviewPage()
},
},
async onDelete(id) {
this.dialogVisible = false
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/aphorismPoetry/delete', {
params: {
id: id,
},
})
this.interviewPage()
this.loading = false
},
refreshPage() {
//获取问题类型的枚举
this.interviewPage()
location.reload()
},
async interviewPage() {
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/aphorismPoetry/page', {
params: {
page: this.currentPage,
pageSize: this.pageSize,
poetryText: this.formInline.poetryText,
},
})
if (res.code === 200) {
this.total = res.result.totalElements
this.algorithmicList = res.result.content
}
this.loading = false
},
async interviewRandom() {
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/aphorismPoetry/random', { params: {} })
if (res.code === 200) {
this.randomAlgorithmic.poetryText = res.result.poetryText
}
this.loading = false
},
handleCurrentChange(currentPage) {
this.currentPage = currentPage
this.interviewPage()
},
},
}
</script>
......
<template>
<div>
<el-container>
<el-main>
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item>
<el-input clearable v-model="formInline.articleId" placeholder="请输入文章id" @keydown.enter.native="articleInfoPage"></el-input>
</el-form-item>
<el-form-item>
<el-input clearable v-model="formInline.userName" placeholder="请输入用户名" @keydown.enter.native="articleInfoPage"></el-input>
</el-form-item>
<el-form-item>
<el-input clearable v-model="formInline.nickName" placeholder="请输入用户昵称" @keydown.enter.native="articleInfoPage"></el-input>
</el-form-item>
<el-select v-model="formInline.likeStatus" placeholder="请选择点赞状态" @change="articleInfoPage">
<el-option v-for="item in likeStatus" :key="item.type" :label="item.name" :value="item.type"></el-option>
</el-select>
<el-select v-model="formInline.collectStatus" placeholder="请选择收藏状态" @change="articleInfoPage">
<el-option v-for="item in collectStatus" :key="item.type" :label="item.name" :value="item.type"></el-option>
</el-select>
<el-select v-model="formInline.commentStatus" placeholder="请选择评论状态" @change="articleInfoPage">
<el-option v-for="item in commentStatus" :key="item.type" :label="item.name" :value="item.type"></el-option>
</el-select>
<br />
<el-form-item>
<el-button type="primary" @click="articleInfoPage">查询</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="prepareAdd">新增</el-button>
<el-dialog title="新增用户" :visible.sync="dialogAddFormVisible" style="width: 100%">
<el-form :model="form" class="custom-form">
<el-form-item label="用户名称" :label-width="formLabelWidth" class="form-item">
<el-input v-model="form.userName" autocomplete="off" style="width: 100%"></el-input>
</el-form-item>
<br />
<el-form-item label="文章Id" :label-width="formLabelWidth" class="form-item">
<el-input v-model="form.articleId" autocomplete="off" style="width: 100%"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogAddFormVisible = false">取 消</el-button>
<el-button type="primary" @click="handleConfirm(0)">确 定</el-button>
</div>
</el-dialog>
</el-form-item>
</el-form>
<el-table border :data="articleInfoList" v-loading="loading">
<el-table-column prop="articleId" label="文章id" show-overflow-tooltip></el-table-column>
<el-table-column prop="userName" label="用户名称" show-overflow-tooltip></el-table-column>
<el-table-column prop="nickName" label="用户昵称" show-overflow-tooltip></el-table-column>
<el-table-column prop="articleTitle" label="文章标题" show-overflow-tooltip>
<template slot-scope="scope">
<a :href="scope.row.articleUrl" target="_blank">{{ scope.row.articleTitle }}</a>
</template>
</el-table-column>
<el-table-column prop="articleDescription" label="文章描述" show-overflow-tooltip></el-table-column>
<el-table-column prop="likeStatusName" label="点赞状态" show-overflow-tooltip></el-table-column>
<el-table-column prop="collectStatusName" label="收藏状态" show-overflow-tooltip></el-table-column>
<el-table-column prop="commentStatusName" label="评论状态" show-overflow-tooltip></el-table-column>
<el-table-column label="创建时间">
<template slot-scope="props">
{{ props.row.createTime | dateFormat }}
</template>
</el-table-column>
<el-table-column label="更新时间">
<template slot-scope="props">
{{ props.row.updateTime | dateFormat }}
</template>
</el-table-column>
<el-table-column prop="操作" label="操作" width="310px">
<template slot-scope="props">
<el-button type="primary" @click="prepareTriplet(props.row.articleId)">三连</el-button>
<el-dialog title="提示" :visible.sync="tripletVisible" width="30%" :before-close="handleClose">
<span>确认三连?</span>
<span slot="footer" class="dialog-footer">
<el-button @click="tripletVisible = false">取 消</el-button>
<el-button type="primary" @click.prevent="triplet(articleId)">确 定</el-button>
</span>
</el-dialog>
<el-button type="success" @click.prevent="preEdit(props.row.id, props.row.articleId, props.row.userName, props.row.nickName, props.row.articleUrl)" width="200">编辑</el-button>
<el-dialog title="编辑用户信息" :visible.sync="editVisible">
<el-form :model="form">
<el-form-item label="文章id" :label-width="formLabelWidth" class="form-item">
<el-input v-model="form.articleId" autocomplete="off" style="width: 100%"></el-input>
</el-form-item>
<el-form-item label="用户名称" :label-width="formLabelWidth" class="form-item">
<el-input v-model="form.userName" autocomplete="off" style="width: 100%"></el-input>
</el-form-item>
<el-form-item label="用户昵称" :label-width="formLabelWidth" class="form-item">
<el-input v-model="form.nickName" autocomplete="off" style="width: 100%"></el-input>
</el-form-item>
<el-form-item label="文章链接" :label-width="formLabelWidth" class="form-item">
<el-input v-model="form.articleUrl" autocomplete="off" style="width: 100%"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="editVisible = false">取 消</el-button>
<el-button type="primary" @click="editConfirm">确 定</el-button>
</div>
</el-dialog>
<el-button type="danger" @click="prepareDelete(props.row.id)">删除</el-button>
<el-dialog title="提示" :visible.sync="dialogDelVisible" width="30%" :before-close="handleClose">
<span>确认删除?</span>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogDelVisible = false">取 消</el-button>
<el-button type="primary" @click.prevent="onDelete(currentRowId)">确 定</el-button>
</span>
</el-dialog>
</template>
</el-table-column>
</el-table>
<el-pagination class="pagination" background :key="elementui_page_component_key" :current-page.sync="currentPage" :page-size="pageSize" :total="total" @current-change="handleCurrentChange"></el-pagination>
</el-main>
<el-backtop class="backtop"></el-backtop>
</el-container>
</div>
</template>
<script>
import axios from 'axios'
export default {
name: 'MyArticleInfo',
data() {
return {
form: {
userName: '',
articleId: '',
},
formInline: {
articleId: '',
userName: '',
nickName: '',
articleUrl: '',
likeStatus: null,
collectStatus: null,
commentStatus: null,
},
likeStatus: [
{
type: -1,
name: '全部',
},
{
type: 0,
name: '未处理',
},
{ type: 1, name: '已经点过赞' },
{ type: 2, name: '点赞已满' },
{ type: 3, name: '取消点赞' },
{ type: 9, name: '点赞成功' },
],
collectStatus: [
{
type: -1,
name: '全部',
},
{
type: 0,
name: '未处理',
},
{ type: 1, name: '已经收藏过' },
{ type: 2, name: '收藏已满' },
{ type: 3, name: '参数缺失' },
{ type: 9, name: '收藏成功' },
],
commentStatus: [
{
type: -1,
name: '全部',
},
{
type: 0,
name: '未处理',
},
{ type: 1, name: '已经评论过' },
{ type: 2, name: '评论已满' },
{ type: 3, name: '禁言' },
{ type: 4, name: '评论太快' },
{ type: 5, name: '评论已经到了49条' },
{ type: 8, name: '其他错误' },
{ type: 9, name: '评论成功' },
],
dialogAddFormVisible: false,
dialogDelVisible: false,
editVisible: false,
tripletVisible: false,
allTripletDialogVisible: false,
// 用户列表数据
articleInfoList: [],
loading: false,
elementui_page_component_key: 0,
currentPage: Number(localStorage.getItem('csdnUserPage')) || 1,
pageSize: 9,
total: 0,
// 新增的内容
formLabelWidth: '120px',
currentRowId: null,
articleId: null,
}
},
watch: {
'formInline.articleId'(newVal, oldVal) {
this.currentPage = 1
localStorage.setItem('csdnUserPage', this.currentPage)
this.articleInfoPage()
},
'formInline.userName'(newVal, oldVal) {
this.currentPage = 1
localStorage.setItem('csdnUserPage', this.currentPage)
this.articleInfoPage()
},
'formInline.nickName'(newVal, oldVal) {
this.currentPage = 1
localStorage.setItem('csdnUserPage', this.currentPage)
this.articleInfoPage()
},
// 监听currentPage的变化,将新值保存到localStorage中
currentPage(newPage) {
localStorage.setItem('csdnUserPage', newPage.toString())
},
},
created() {
//获取问题类型的枚举
this.articleInfoPage()
},
mounted() {
this.currentPage = 1
},
methods: {
prepareAdd() {
this.form.userName = ''
this.form.articleId = ''
this.dialogAddFormVisible = true
},
prepareAllTriplet() {
this.allTripletDialogVisible = true
},
prepareDelete(id) {
this.currentRowId = id
this.dialogDelVisible = true
},
prepareTriplet(articleId) {
this.articleId = articleId
this.tripletVisible = true
},
preEdit(id, articleId, userName, nickName, articleUrl) {
this.form.articleId = articleId
this.form.userName = userName
this.form.nickName = nickName
this.form.articleUrl = articleUrl
this.currentRowId = id
this.editVisible = true
},
handleClose(done) {
this.$confirm('确认关闭?')
.then((_) => {
done()
})
.catch((_) => {})
},
handleConfirm(addType) {
this.dialogAddFormVisible = false // 关闭对话框
this.addUser(addType) // 发送请求
},
async addUser(addType) {
try {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/csdnArticleInfo/add', {
addType: addType,
userName: this.form.userName,
articleId: this.form.articleId,
})
if (res.code === 200) {
this.currentPage = 1
this.form.userName = ''
this.form.articleId = ''
this.articleInfoPage()
} else {
this.errorMsg(res.message)
console.error('Received non-200 status code', res)
}
} catch (error) {
console.error('An error occurred while adding the questionName:', error)
// 异常处理逻辑
} finally {
this.loading = false
}
},
errorMsg(msg) {
this.$message({
showClose: true,
message: msg,
type: 'error',
})
},
async editConfirm() {
try {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/csdnArticleInfo/update', {
id: this.currentRowId,
articleId: this.form.articleId,
userName: this.form.userName,
nickName: this.form.nickName,
articleUrl: this.form.articleUrl,
})
if (res.code === 200) {
this.form.userName = ''
this.form.nickName = ''
this.form.articleId = ''
this.form.articleUrl = ''
this.editVisible = false
currentRowId: null
this.articleInfoPage()
} else {
console.error('Received non-200 status code', res)
}
} catch (error) {
console.error('An error occurred while adding the questionName:', error)
// 异常处理逻辑
} finally {
this.loading = false
}
},
async triplet(articleId) {
this.loading = true
this.articleId = null
this.tripletVisible = false
const { data: res } = await axios.get('http://120.79.36.53:8888/csdnArticleInfo/triplet?articleId=' + articleId)
if (res.code === 200) {
this.articleInfoPage()
} else {
console.error('Received non-200 status code', res)
}
this.loading = false
},
async onDelete(id) {
this.dialogDelVisible = false
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/csdnArticleInfo/delete', {
params: {
id: id,
},
})
this.articleInfoPage()
this.loading = false
},
refreshPage() {
//获取问题类型的枚举
this.articleInfoPage()
location.reload()
},
async articleInfoPage() {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/csdnArticleInfo/page', {
page: this.currentPage,
pageSize: this.pageSize,
articleId: this.formInline.articleId,
userName: this.formInline.userName,
nickName: this.formInline.nickName,
likeStatus: this.formInline.likeStatus == -1 ? null : this.formInline.likeStatus,
collectStatus: this.formInline.collectStatus == -1 ? null : this.formInline.collectStatus,
commentStatus: this.formInline.commentStatus == -1 ? null : this.formInline.commentStatus,
})
if (res.code === 200) {
this.total = res.result.totalElements
const likeStatusMap = {}
this.likeStatus.forEach((option) => {
likeStatusMap[option.type] = option.name
})
res.result.content.forEach((item) => {
item.likeStatusName = likeStatusMap[item.likeStatus]
})
const collectStatusMap = {}
this.collectStatus.forEach((option) => {
collectStatusMap[option.type] = option.name
})
res.result.content.forEach((item) => {
item.collectStatusName = collectStatusMap[item.collectStatus]
})
const commentStatusMap = {}
this.commentStatus.forEach((option) => {
commentStatusMap[option.type] = option.name
})
res.result.content.forEach((item) => {
item.commentStatusName = commentStatusMap[item.commentStatus]
})
this.articleInfoList = res.result.content
}
this.loading = false
},
handleCurrentChange(currentPage) {
this.currentPage = currentPage
this.articleInfoPage()
},
},
}
</script>
<style lang="less" scoped>
.el-header {
background-color: #b3c0d1;
color: #333;
line-height: 60px;
}
.el-aside {
color: #333;
}
.pagination {
margin-top: 16px;
text-align: right;
}
.header-button-item {
margin-right: 15px;
font-size: 20px;
}
.red-title {
line-height: 24px;
font-size: 18px;
color: red;
}
.backtop {
position: fixed;
bottom: 50px;
right: 50px;
height: 40px;
width: 40px;
line-height: 40px;
text-align: center;
border-radius: 20px;
background-color: #007aff;
color: #fff;
cursor: pointer;
z-index: 999;
}
.custom-textarea {
width: 100%;
text-align: left;
}
.backtop:hover {
background-color: #0050a0;
}
</style>
\ No newline at end of file
......@@ -39,98 +39,98 @@
<script>
import axios from 'axios'
export default {
name: 'MyChat',
name: 'MyChat',
data() {
return {
// 用户列表数据
userlist: [],
loading: false,
elementui_page_component_key: 0,
currentPage: Number(localStorage.getItem('lastPage')) || 1,
pageSize: 9,
total: 0,
formInline: {
question: '',
},
}
},
watch: {
'formInline.question'(newVal, oldVal) {
if (newVal !== oldVal) {
this.currentPage = 1
localStorage.setItem('lastPage', this.currentPage)
this.initCartList()
}
},
},
created() {
this.$nextTick(() => {
const foo = this.$route.query.back
const add = this.$route.query.add
if (foo === 'back' && add != 'add') {
this.currentPage = Number(localStorage.getItem('lastPage')) || 1
this.formInline.question = localStorage.getItem('lastQuestion') || ''
} else {
localStorage.setItem('lastPage', 1)
localStorage.setItem('lastQuestion', '')
this.currentPage = 1
this.formInline.question = ''
}
// 调用请求数据的方法
this.initCartList()
})
},
mounted() {
this.currentPage = Number(localStorage.getItem('lastPage')) || 1
this.formInline.question = localStorage.getItem('lastQuestion')
this.elementui_page_component_key++
},
methods: {
async onDelete(id) {
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/chatbot/delete', {
params: {
id: id,
},
})
this.initCartList()
this.loading = false
},
refreshPage() {
location.reload()
},
gotoDetail(id) {
this.$router.push('/home/chatinfo/' + id)
},
addChat() {
this.$router.push('/home/addChat/')
},
data() {
return {
// 用户列表数据
userlist: [],
loading: false,
elementui_page_component_key: 0,
currentPage: Number(localStorage.getItem('lastPage')) || 1,
pageSize: 9,
total: 0,
formInline: {
question: '',
},
}
},
watch: {
'formInline.question'(newVal, oldVal) {
if (newVal !== oldVal) {
this.currentPage = 1
localStorage.setItem('lastPage', this.currentPage)
this.initCartList()
}
},
},
created() {
this.$nextTick(() => {
const foo = this.$route.query.back
const add = this.$route.query.add
if (foo === 'back' && add != 'add') {
this.currentPage = Number(localStorage.getItem('lastPage')) || 1
this.formInline.question = localStorage.getItem('lastQuestion') || ''
} else {
localStorage.setItem('lastPage', 1)
localStorage.setItem('lastQuestion', '')
this.currentPage = 1
this.formInline.question = ''
}
// 调用请求数据的方法
this.initCartList()
})
},
mounted() {
this.currentPage = Number(localStorage.getItem('lastPage')) || 1
this.formInline.question = localStorage.getItem('lastQuestion')
this.elementui_page_component_key++
},
methods: {
async onDelete(id) {
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/chatbot/delete', {
params: {
id: id,
},
})
this.initCartList()
this.loading = false
},
refreshPage() {
location.reload()
},
gotoDetail(id) {
this.$router.push('/home/chatinfo/' + id)
},
addChat() {
this.$router.push('/home/addChat/')
},
async initCartList() {
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/chatbot/page', {
params: {
page: this.currentPage,
pageSize: this.pageSize,
question: this.formInline.question,
},
})
console.log(res)
if (res.code === 200) {
this.userlist = res.result.content
this.total = res.result.totalElements
localStorage.setItem('lastPage', this.currentPage)
localStorage.setItem('lastQuestion', this.formInline.question)
}
this.loading = false
},
async initCartList() {
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/chatbot/page', {
params: {
page: this.currentPage,
pageSize: this.pageSize,
question: this.formInline.question,
},
})
handleCurrentChange(currentPage) {
this.currentPage = currentPage
this.initCartList()
},
},
if (res.code === 200) {
this.userlist = res.result.content
this.total = res.result.totalElements
localStorage.setItem('lastPage', this.currentPage)
localStorage.setItem('lastQuestion', this.formInline.question)
}
this.loading = false
},
handleCurrentChange(currentPage) {
this.currentPage = currentPage
this.initCartList()
},
},
}
</script>
......
此差异已折叠。
......@@ -105,332 +105,332 @@
<script>
import axios from 'axios'
export default {
name: 'MyInterview',
name: 'MyInterview',
data() {
return {
// 用户列表数据
userlist: [],
loading: false,
elementui_page_component_key: 0,
currentPage: Number(localStorage.getItem('interviewLastPage')) || 1,
pageSize: 9,
total: 0,
formInline: {
question: '',
},
options: [],
questionType: 0,
// 新增的内容
dialogFormVisible: false,
dialogMutiFormVisible: false,
form: {
question: '',
questionType: 0,
},
formLabelWidth: '120px',
dialogVisible: false,
editVisible: false,
currentRowId: null,
colorMap: {}, // 创建一个空的颜色映射关系对象
}
},
watch: {
'formInline.question'(newVal, oldVal) {
if (newVal !== oldVal) {
this.currentPage = 1
localStorage.setItem('interviewLastPage', this.currentPage)
this.getQuestionType()
}
},
// 监听currentPage的变化,将新值保存到localStorage中
currentPage(newPage) {
localStorage.setItem('interviewLastPage', newPage.toString())
},
},
created() {
//获取问题列表
this.getQuestionType()
},
mounted() {
this.currentPage = 1
// // 在页面加载时从localStorage中获取currentPage的值
// const storedPage = localStorage.getItem('interviewLastPage')
// if (storedPage) {
// this.currentPage = parseInt(storedPage)
// }
},
methods: {
prepareAdd() {
this.form.question = ''
this.form.questionType = 0
this.dialogFormVisible = true
},
prepareMutiAdd() {
this.form.question = ''
this.form.questionType = 0
this.dialogMutiFormVisible = true
},
data() {
return {
// 用户列表数据
userlist: [],
loading: false,
elementui_page_component_key: 0,
currentPage: Number(localStorage.getItem('interviewLastPage')) || 1,
pageSize: 9,
total: 0,
formInline: {
question: '',
},
options: [],
questionType: 0,
// 新增的内容
dialogFormVisible: false,
dialogMutiFormVisible: false,
form: {
question: '',
questionType: 0,
},
formLabelWidth: '120px',
dialogVisible: false,
editVisible: false,
currentRowId: null,
colorMap: {}, // 创建一个空的颜色映射关系对象
}
},
watch: {
'formInline.question'(newVal, oldVal) {
if (newVal !== oldVal) {
this.currentPage = 1
localStorage.setItem('interviewLastPage', this.currentPage)
this.getQuestionType()
}
},
// 监听currentPage的变化,将新值保存到localStorage中
currentPage(newPage) {
localStorage.setItem('interviewLastPage', newPage.toString())
},
},
created() {
//获取问题列表
this.getQuestionType()
},
mounted() {
this.currentPage = 1
// // 在页面加载时从localStorage中获取currentPage的值
// const storedPage = localStorage.getItem('interviewLastPage')
// if (storedPage) {
// this.currentPage = parseInt(storedPage)
// }
},
methods: {
prepareAdd() {
this.form.question = ''
this.form.questionType = 0
this.dialogFormVisible = true
},
prepareMutiAdd() {
this.form.question = ''
this.form.questionType = 0
this.dialogMutiFormVisible = true
},
prepareDelete(id) {
this.currentRowId = id
this.dialogVisible = true
},
preEdit(id, question, questionTypeName) {
this.form.question = question
prepareDelete(id) {
this.currentRowId = id
this.dialogVisible = true
},
preEdit(id, question, questionTypeName) {
this.form.question = question
// 定义一个映射(map)来存储 questionType 到 name 的转换
const questionTypeToNameMap = {}
this.options.forEach((option) => {
questionTypeToNameMap[option.name] = option.questionType
})
this.form.questionType = questionTypeToNameMap[questionTypeName]
this.currentRowId = id
this.editVisible = true
},
handleClose(done) {
this.$confirm('确认关闭?')
.then((_) => {
done()
})
.catch((_) => {})
},
handleConfirm(addType) {
this.dialogFormVisible = false // 关闭对话框
this.dialogMutiFormVisible = false
this.addQuestion(addType) // 发送请求
},
// 定义一个映射(map)来存储 questionType 到 name 的转换
const questionTypeToNameMap = {}
this.options.forEach((option) => {
questionTypeToNameMap[option.name] = option.questionType
})
this.form.questionType = questionTypeToNameMap[questionTypeName]
this.currentRowId = id
this.editVisible = true
},
handleClose(done) {
this.$confirm('确认关闭?')
.then((_) => {
done()
})
.catch((_) => {})
},
handleConfirm(addType) {
this.dialogFormVisible = false // 关闭对话框
this.dialogMutiFormVisible = false
this.addQuestion(addType) // 发送请求
},
async addQuestion(addType) {
try {
this.loading = true
async addQuestion(addType) {
try {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/interviewQuestion/add', {
addType: addType,
question: this.form.question,
questionType: this.form.questionType,
})
if (res.code === 200) {
this.currentPage = 1
this.form.question = ''
this.form.questionType = 0
this.getQuestionType() // 确保这个方法是有效的
} else {
console.error('Received non-200 status code', res)
this.errorMsg(res.message)
}
} catch (error) {
console.error('An error occurred while adding the question:', error)
// 异常处理逻辑
} finally {
this.loading = false
}
},
errorMsg(msg) {
this.$message({
showClose: true,
message: msg,
type: 'error',
})
},
async editConfirm() {
try {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/interviewQuestion/add', {
addType: addType,
question: this.form.question,
questionType: this.form.questionType,
})
if (res.code === 200) {
this.currentPage = 1
this.form.question = ''
this.form.questionType = 0
this.getQuestionType() // 确保这个方法是有效的
} else {
console.error('Received non-200 status code', res)
this.errorMsg(res.message)
}
} catch (error) {
console.error('An error occurred while adding the question:', error)
// 异常处理逻辑
} finally {
this.loading = false
}
},
errorMsg(msg) {
this.$message({
showClose: true,
message: msg,
type: 'error',
})
},
async editConfirm() {
try {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/interviewQuestion/update', {
id: this.currentRowId,
question: this.form.question,
questionType: this.form.questionType,
})
if (res.code === 200) {
this.form.question = ''
this.form.questionType = 0
this.editVisible = false
currentRowId: null
this.getQuestionType() // 确保这个方法是有效的
} else {
console.error('Received non-200 status code', res)
}
} catch (error) {
console.error('An error occurred while adding the question:', error)
// 异常处理逻辑
} finally {
this.loading = false
}
},
const { data: res } = await axios.post('http://120.79.36.53:8888/interviewQuestion/update', {
id: this.currentRowId,
question: this.form.question,
questionType: this.form.questionType,
})
if (res.code === 200) {
this.form.question = ''
this.form.questionType = 0
this.editVisible = false
currentRowId: null
this.getQuestionType() // 确保这个方法是有效的
} else {
console.error('Received non-200 status code', res)
}
} catch (error) {
console.error('An error occurred while adding the question:', error)
// 异常处理逻辑
} finally {
this.loading = false
}
},
async onDelete(id) {
this.dialogVisible = false
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/interviewQuestion/delete', {
params: {
id: id,
},
})
this.getQuestionType()
this.loading = false
},
async onDelete(id) {
this.dialogVisible = false
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/interviewQuestion/delete', {
params: {
id: id,
},
})
this.getQuestionType()
this.loading = false
},
refreshPage() {
//获取问题类型的枚举
this.getQuestionType()
location.reload()
},
refreshPage() {
//获取问题类型的枚举
this.getQuestionType()
location.reload()
},
async getQuestionType() {
const { data: res } = await axios.get('http://120.79.36.53:8888/interviewQuestion/questionType', { params: {} })
if (res.code === 200) {
this.options = res.result
this.interviewPage()
}
},
async getQuestionType() {
const { data: res } = await axios.get('http://120.79.36.53:8888/interviewQuestion/questionType', { params: {} })
if (res.code === 200) {
this.options = res.result
this.interviewPage()
}
},
async interviewPage() {
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/interviewQuestion/page', {
params: {
page: this.currentPage,
pageSize: this.pageSize,
question: this.formInline.question,
questionType: this.questionType,
},
})
if (res.code === 200) {
this.total = res.result.totalElements
// 定义一个映射(map)来存储 questionType 到 name 的转换
const questionTypeToNameMap = {}
this.options.forEach((option) => {
questionTypeToNameMap[option.questionType] = option.name
})
// 修改 userlist 中的每一个元素,将 questionType 转换为 name
res.result.content.forEach((user) => {
user.questionTypeName = questionTypeToNameMap[user.questionType] || 'Unknown'
})
this.userlist = res.result.content
}
this.loading = false
},
handleCurrentChange(currentPage) {
this.currentPage = currentPage
this.getQuestionType()
},
getColorForValue(value) {
// 检查颜色映射关系中是否已经有该值对应的颜色
if (!this.colorMap[value]) {
// 如果没有,随机生成一个颜色并将其关联到该值
this.colorMap[value] = this.getRandomColor()
}
// 返回值对应的颜色
return this.colorMap[value]
},
getRandomColor() {
// 从颜色数组中随机选取一个颜色
const colorArray = [
'red',
'blue',
'green',
'yellow',
'purple',
'orange',
'pink',
'brown',
'cyan',
'magenta',
'maroon',
'navy',
'olive',
'teal',
'lime',
'aqua',
'silver',
'gray',
'white',
'indigo',
'violet',
'lavender',
'coral',
'gold',
'salmon',
'turquoise',
'orchid',
'khaki',
'slategray',
'thistle',
'burlywood',
'cadetblue',
'chartreuse',
'chocolate',
'crimson',
'darkblue',
'darkcyan',
'darkgoldenrod',
'darkgray',
'darkgreen',
'darkkhaki',
'darkmagenta',
'darkolivegreen',
'darkorange',
'darkorchid',
'darkred',
'darksalmon',
'darkseagreen',
'darkslateblue',
'darkslategray',
'darkturquoise',
'darkviolet',
'deeppink',
'deepskyblue',
'dodgerblue',
'firebrick',
'forestgreen',
'fuchsia',
'gold',
'greenyellow',
'hotpink',
'indianred',
'lawngreen',
'lightcoral',
'lightgreen',
'lightpink',
'lightsalmon',
'lightseagreen',
'lightskyblue',
'lightslategray',
'lightsteelblue',
'mediumaquamarine',
'mediumblue',
'mediumorchid',
'mediumpurple',
'mediumseagreen',
'mediumslateblue',
'mediumspringgreen',
'mediumturquoise',
'mediumvioletred',
'midnightblue',
'orangered',
'palegoldenrod',
'palegreen',
'paleturquoise',
'palevioletred',
'peru',
'powderblue',
'rosybrown',
'saddlebrown',
'seagreen',
'sienna',
'skyblue',
'slateblue',
'springgreen',
'tan',
'thistle',
'tomato',
'turquoise',
'violet',
]
const randomIndex = Math.floor(Math.random() * colorArray.length)
return colorArray[randomIndex]
},
},
async interviewPage() {
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/interviewQuestion/page', {
params: {
page: this.currentPage,
pageSize: this.pageSize,
question: this.formInline.question,
questionType: this.questionType,
},
})
if (res.code === 200) {
this.total = res.result.totalElements
// 定义一个映射(map)来存储 questionType 到 name 的转换
const questionTypeToNameMap = {}
this.options.forEach((option) => {
questionTypeToNameMap[option.questionType] = option.name
})
// 修改 userlist 中的每一个元素,将 questionType 转换为 name
res.result.content.forEach((user) => {
user.questionTypeName = questionTypeToNameMap[user.questionType] || 'Unknown'
})
this.userlist = res.result.content
}
this.loading = false
},
handleCurrentChange(currentPage) {
this.currentPage = currentPage
this.getQuestionType()
},
getColorForValue(value) {
// 检查颜色映射关系中是否已经有该值对应的颜色
if (!this.colorMap[value]) {
// 如果没有,随机生成一个颜色并将其关联到该值
this.colorMap[value] = this.getRandomColor()
}
// 返回值对应的颜色
return this.colorMap[value]
},
getRandomColor() {
// 从颜色数组中随机选取一个颜色
const colorArray = [
'red',
'blue',
'green',
'yellow',
'purple',
'orange',
'pink',
'brown',
'cyan',
'magenta',
'maroon',
'navy',
'olive',
'teal',
'lime',
'aqua',
'silver',
'gray',
'white',
'indigo',
'violet',
'lavender',
'coral',
'gold',
'salmon',
'turquoise',
'orchid',
'khaki',
'slategray',
'thistle',
'burlywood',
'cadetblue',
'chartreuse',
'chocolate',
'crimson',
'darkblue',
'darkcyan',
'darkgoldenrod',
'darkgray',
'darkgreen',
'darkkhaki',
'darkmagenta',
'darkolivegreen',
'darkorange',
'darkorchid',
'darkred',
'darksalmon',
'darkseagreen',
'darkslateblue',
'darkslategray',
'darkturquoise',
'darkviolet',
'deeppink',
'deepskyblue',
'dodgerblue',
'firebrick',
'forestgreen',
'fuchsia',
'gold',
'greenyellow',
'hotpink',
'indianred',
'lawngreen',
'lightcoral',
'lightgreen',
'lightpink',
'lightsalmon',
'lightseagreen',
'lightskyblue',
'lightslategray',
'lightsteelblue',
'mediumaquamarine',
'mediumblue',
'mediumorchid',
'mediumpurple',
'mediumseagreen',
'mediumslateblue',
'mediumspringgreen',
'mediumturquoise',
'mediumvioletred',
'midnightblue',
'orangered',
'palegoldenrod',
'palegreen',
'paleturquoise',
'palevioletred',
'peru',
'powderblue',
'rosybrown',
'saddlebrown',
'seagreen',
'sienna',
'skyblue',
'slateblue',
'springgreen',
'tan',
'thistle',
'tomato',
'turquoise',
'violet',
]
const randomIndex = Math.floor(Math.random() * colorArray.length)
return colorArray[randomIndex]
},
},
}
</script>
......
......@@ -15,7 +15,7 @@
<el-form-item>
<el-button type="primary" @click="prepareReset">重置</el-button>
</el-form-item>
<el-dialog title="提示" :visible.sync="resetDialogVisible" width="30%" :before-close="handleClose">
<el-dialog title="提示" :visible.sync="resetDialogVisible" width="30%">
<span>确认重置吗?</span>
<span slot="footer" class="dialog-footer">
<el-button @click="resetDialogVisible = false">取 消</el-button>
......@@ -54,86 +54,86 @@
<script>
import axios from 'axios'
export default {
name: 'MyTripletDayInfo',
name: 'MyTripletDayInfo',
data() {
return {
formInline: {
startDate: null,
endDate: null,
},
// 用户列表数据
tripletDayInfoList: [],
loading: false,
resetDialogVisible: false,
elementui_page_component_key: 0,
currentPage: Number(localStorage.getItem('csdnTripletDayInfoPage')) || 1,
pageSize: 9,
total: 0,
}
},
watch: {
'formInline.startDate'(newVal, oldVal) {
if (newVal !== oldVal) {
this.currentPage = 1
localStorage.setItem('csdnTripletDayInfoPage', this.currentPage)
this.tripletDayInfoPage()
}
},
'formInline.endDate'(newVal, oldVal) {
if (newVal !== oldVal) {
this.currentPage = 1
localStorage.setItem('csdnTripletDayInfoPage', this.currentPage)
this.tripletDayInfoPage()
}
},
// 监听currentPage的变化,将新值保存到localStorage中
currentPage(newPage) {
localStorage.setItem('csdnTripletDayInfoPage', newPage.toString())
},
},
created() {
//获取问题类型的枚举
this.tripletDayInfoPage()
},
mounted() {
this.currentPage = 1
},
methods: {
prepareReset() {
this.resetDialogVisible = true
},
async tripletDayInfoPage() {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/dayInfo/page', {
page: this.currentPage,
pageSize: this.pageSize,
startDate: this.formInline.startDate,
endDate: this.formInline.endDate,
})
if (res.code === 200) {
this.total = res.result.totalElements
this.tripletDayInfoList = res.result.content
}
this.loading = false
},
async reset() {
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/dayInfo/add')
this.resetDialogVisible = false
this.tripletDayInfoPage()
this.loading = false
},
handleCurrentChange(currentPage) {
this.currentPage = currentPage
this.tripletDayInfoPage()
},
refreshPage() {
//获取问题类型的枚举
this.tripletDayInfoPage()
location.reload()
},
},
data() {
return {
formInline: {
startDate: null,
endDate: null,
},
// 用户列表数据
tripletDayInfoList: [],
loading: false,
resetDialogVisible: false,
elementui_page_component_key: 0,
currentPage: Number(localStorage.getItem('csdnTripletDayInfoPage')) || 1,
pageSize: 9,
total: 0,
}
},
watch: {
'formInline.startDate'(newVal, oldVal) {
if (newVal !== oldVal) {
this.currentPage = 1
localStorage.setItem('csdnTripletDayInfoPage', this.currentPage)
this.tripletDayInfoPage()
}
},
'formInline.endDate'(newVal, oldVal) {
if (newVal !== oldVal) {
this.currentPage = 1
localStorage.setItem('csdnTripletDayInfoPage', this.currentPage)
this.tripletDayInfoPage()
}
},
// 监听currentPage的变化,将新值保存到localStorage中
currentPage(newPage) {
localStorage.setItem('csdnTripletDayInfoPage', newPage.toString())
},
},
created() {
//获取问题类型的枚举
this.tripletDayInfoPage()
},
mounted() {
this.currentPage = 1
},
methods: {
prepareReset() {
this.resetDialogVisible = true
},
async tripletDayInfoPage() {
this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/dayInfo/page', {
page: this.currentPage,
pageSize: this.pageSize,
startDate: this.formInline.startDate,
endDate: this.formInline.endDate,
})
if (res.code === 200) {
this.total = res.result.totalElements
this.tripletDayInfoList = res.result.content
}
this.loading = false
},
async reset() {
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/dayInfo/add')
this.resetDialogVisible = false
this.tripletDayInfoPage()
this.loading = false
},
handleCurrentChange(currentPage) {
this.currentPage = currentPage
this.tripletDayInfoPage()
},
refreshPage() {
//获取问题类型的枚举
this.tripletDayInfoPage()
location.reload()
},
},
}
</script>
......
......@@ -32,13 +32,19 @@
</router-link>
<router-link to="/home/csdnUser">
<el-menu-item index="/csdnUser" class="left-aside-item">
<i class="el-icon-user"></i>
<i class="el-icon-s-custom"></i>
<span slot="title">用户管理</span>
</el-menu-item>
</router-link>
<router-link to="/home/articleInfo">
<el-menu-item index="/articleInfo" class="left-aside-item">
<i class="el-icon-document"></i>
<span slot="title">文章管理</span>
</el-menu-item>
</router-link>
<router-link to="/home/tripletDayInfo">
<el-menu-item index="/tripletDayInfo" class="left-aside-item">
<i class="el-icon-user"></i>
<i class="el-icon-thumb"></i>
<span slot="title">三连管理</span>
</el-menu-item>
</router-link>
......
......@@ -7,7 +7,9 @@
<!-- 标题 -->
<h4 class="layout-header-left-title ml-3">kwan的解忧杂货铺</h4>
</div>
<h2 class="layout-header-left-title ml-3" :style="{ color: textColor }">{{ randomAlgorithmic.poetryText }}</h2>
<marquee ref="myMarquee" behavior="scroll" direction="left" :scrollamount="5" width="1000px" height="50px">
<h1 class="layout-header-left-title ml-3" :style="{ color: textColor }">{{ randomAlgorithmic.poetryText }}</h1>
</marquee>
<el-row>
<el-col :inline="true" :span="24">
<el-button class="el-button-header" type="success" round @click="myHome">我的主页</el-button>
......@@ -26,11 +28,12 @@ export default {
randomAlgorithmic: {
poetryText: '',
},
textColor: 'skyblue', // 初始字体颜色为黑色
loading: false,
color: [
'red',
'blue',
'green',
'yellow',
'purple',
'orange',
'pink',
......@@ -128,19 +131,12 @@ export default {
'turquoise',
'violet',
],
textColor: 'skyblue', // 初始字体颜色为黑色
loading: false,
}
},
watch: {
'randomAlgorithmic.poetryText': {
handler(newValue, oldValue) {
if (newValue !== oldValue) {
// 当值改变时,根据条件设置不同的字体颜色
this.textColor = this.getRandomColor()
}
},
deep: true,
'randomAlgorithmic.poetryText'(newVal, oldVal) {
// 当值改变时,根据条件设置不同的字体颜色
this.textColor = this.getRandomColor()
},
},
created() {
......@@ -164,19 +160,18 @@ export default {
},
async interviewRandom() {
this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/aphorismPoetry/random', { params: {} })
const { data: res } = await axios.get('http://120.79.36.53:8888/aphorismPoetry/random')
if (res.code === 200) {
this.randomAlgorithmic.poetryText = res.result.poetryText
}
this.loading = false
},
// 定时执行 interviewRandom 方法
startInterviewRandomTimer() {
this.interviewRandom() // 首次调用方法
this.interviewRandomTimer = setInterval(() => {
this.interviewRandom()
}, 10000) // 5000 毫秒(5秒)为间隔
}, 15000) // 5000 毫秒(5秒)为间隔
},
// 停止定时执行 interviewRandom 方法
......@@ -193,11 +188,6 @@ export default {
</script>
<style lang="less" scoped>
.layout-header-container {
height: 60px;
border-bottom: 1px solid #eaeaea;
}
.layout-header-left-img {
height: 50px;
}
......
......@@ -12,6 +12,7 @@ import Interview from '@/components/menus/MyInterview.vue'
import Algorithmic from '@/components/menus/MyAlgorithmic.vue'
import AphorismPoetry from '@/components/menus/MyAphorismPoetry.vue'
import MyCsdnUser from '@/components/menus/MyCsdnUser.vue'
import MyArticleInfo from '@/components/menus/MyArticleInfo.vue'
import MyTripletDayInfo from '@/components/menus/MyTripletDayInfo.vue'
import MyChatDetail from '@/components/user/MyChatDetail.vue'
import AddChatDetail from '@/components/user/AddChatDetail.vue'
......@@ -84,6 +85,12 @@ const router = new VueRouter({
meta: {
title: '三连管理' // 设置默认标题
}
}, {
path: 'articleInfo',
component: MyArticleInfo,
meta: {
title: '文章管理' // 设置默认标题
}
}, {
path: 'chatinfo/:id',
component: MyChatDetail,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册