整理

上级 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/) * 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> <!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 \ No newline at end of file
此差异已折叠。
因为 它太大了无法显示 source diff 。你可以改为 查看blob
此差异已折叠。
因为 它太大了无法显示 source diff 。你可以改为 查看blob
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<el-button type="primary" @click="interviewPage">查询</el-button> <el-button type="primary" @click="interviewPage">查询</el-button>
</el-form-item> </el-form-item>
<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-form-item> <el-form-item>
<el-button type="primary" @click="prepareAdd">新增</el-button> <el-button type="primary" @click="prepareAdd">新增</el-button>
...@@ -96,201 +96,196 @@ ...@@ -96,201 +96,196 @@
<script> <script>
import axios from 'axios' import axios from 'axios'
export default { export default {
name: 'MyInterview', name: 'MyInterview',
data() { data() {
return { return {
// 用户列表数据 // 用户列表数据
algorithmicList: [], algorithmicList: [],
randomAlgorithmic: { randomAlgorithmic: {
poetryText: '', poetryText: '',
}, },
loading: false, loading: false,
elementui_page_component_key: 0, elementui_page_component_key: 0,
currentPage: Number(localStorage.getItem('poetryLastPage')) || 1, currentPage: Number(localStorage.getItem('poetryLastPage')) || 1,
pageSize: 9, pageSize: 9,
total: 0, total: 0,
formInline: { formInline: {
poetryText: '', poetryText: '',
}, },
// 新增的内容 // 新增的内容
dialogFormVisible: false, dialogFormVisible: false,
randomFormVisible: false, randomFormVisible: false,
dialogMutiFormVisible: false, dialogMutiFormVisible: false,
form: { form: {
poetryText: '', poetryText: '',
}, },
formLabelWidth: '120px', formLabelWidth: '120px',
dialogVisible: false, dialogVisible: false,
editVisible: false, editVisible: false,
currentRowId: null, currentRowId: null,
} }
}, },
watch: { watch: {
'formInline.poetryText'(newVal, oldVal) { 'formInline.poetryText'(newVal, oldVal) {
if (newVal !== oldVal) { if (newVal !== oldVal) {
this.currentPage = 1 this.currentPage = 1
localStorage.setItem('poetryLastPage', this.currentPage) localStorage.setItem('poetryLastPage', this.currentPage)
this.interviewPage() this.interviewPage()
} }
}, },
// 监听currentPage的变化,将新值保存到localStorage中 // 监听currentPage的变化,将新值保存到localStorage中
currentPage(newPage) { currentPage(newPage) {
localStorage.setItem('poetryLastPage', newPage.toString()) localStorage.setItem('poetryLastPage', newPage.toString())
}, },
}, },
created() { created() {
//获取问题类型的枚举 //获取问题类型的枚举
this.interviewPage() this.interviewPage()
}, },
mounted() { mounted() {
this.currentPage = 1 this.currentPage = 1
// // 在页面加载时从localStorage中获取currentPage的值 },
// const storedPage = localStorage.getItem('poetryLastPage') methods: {
// if (storedPage) { prepareAdd() {
// this.currentPage = parseInt(storedPage) this.form.poetryText = ''
// } this.dialogFormVisible = true
}, },
methods: { prepareRandom() {
prepareAdd() { this.randomAlgorithmic = []
this.form.poetryText = '' this.randomFormVisible = true
this.dialogFormVisible = true this.interviewRandom()
}, },
prepareRandom() { prepareMutiAdd() {
this.randomAlgorithmic = [] this.form.poetryText = ''
this.randomFormVisible = true
this.interviewRandom()
},
prepareMutiAdd() {
this.form.poetryText = ''
this.dialogMutiFormVisible = true this.dialogMutiFormVisible = true
}, },
prepareDelete(id) { prepareDelete(id) {
this.currentRowId = id this.currentRowId = id
this.dialogVisible = true this.dialogVisible = true
}, },
preEdit(id, poetryText) { preEdit(id, poetryText) {
this.form.poetryText = poetryText this.form.poetryText = poetryText
this.currentRowId = id this.currentRowId = id
this.editVisible = true this.editVisible = true
}, },
handleClose(done) { handleClose(done) {
this.$confirm('确认关闭?') this.$confirm('确认关闭?')
.then((_) => { .then((_) => {
done() done()
}) })
.catch((_) => {}) .catch((_) => {})
}, },
handleConfirm(addType) { handleConfirm(addType) {
this.dialogFormVisible = false // 关闭对话框 this.dialogFormVisible = false // 关闭对话框
this.dialogMutiFormVisible = false this.dialogMutiFormVisible = false
this.addQuestion(addType) // 发送请求 this.addQuestion(addType) // 发送请求
}, },
async addQuestion(addType) { async addQuestion(addType) {
try { try {
this.loading = true this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/aphorismPoetry/add', { const { data: res } = await axios.post('http://120.79.36.53:8888/aphorismPoetry/add', {
addType: addType, addType: addType,
poetryText: this.form.poetryText, poetryText: this.form.poetryText,
degreeOfImportance: this.form.degreeOfImportance, degreeOfImportance: this.form.degreeOfImportance,
degreeOfDifficulty: this.form.degreeOfDifficulty, degreeOfDifficulty: this.form.degreeOfDifficulty,
difficultyOfScore: this.form.difficultyOfScore, difficultyOfScore: this.form.difficultyOfScore,
leetcodeNumber: this.form.leetcodeNumber, leetcodeNumber: this.form.leetcodeNumber,
leetcodeLink: this.form.leetcodeLink, leetcodeLink: this.form.leetcodeLink,
}) })
if (res.code === 200) { if (res.code === 200) {
this.form.poetryText = '' this.form.poetryText = ''
this.currentPage = 1 this.currentPage = 1
this.interviewPage() this.interviewPage()
} else { } else {
console.error('Received non-200 status code', res) console.error('Received non-200 status code', res)
this.errorMsg(res.message) this.errorMsg(res.message)
} }
} catch (error) { } catch (error) {
console.error('An error occurred while adding the poetryText:', error) console.error('An error occurred while adding the poetryText:', error)
// 异常处理逻辑 // 异常处理逻辑
} finally { } finally {
this.loading = false this.loading = false
} }
}, },
errorMsg(msg) { errorMsg(msg) {
this.$message({ this.$message({
showClose: true, showClose: true,
message: msg, message: msg,
type: 'error', type: 'error',
}) })
}, },
async editConfirm() { async editConfirm() {
try { try {
this.loading = true this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/aphorismPoetry/update', { const { data: res } = await axios.post('http://120.79.36.53:8888/aphorismPoetry/update', {
id: this.currentRowId, id: this.currentRowId,
poetryText: this.form.poetryText, poetryText: this.form.poetryText,
}) })
if (res.code === 200) { if (res.code === 200) {
this.form.poetryText = '' this.form.poetryText = ''
this.editVisible = false this.editVisible = false
currentRowId: null currentRowId: null
this.interviewPage() this.interviewPage()
} else { } else {
console.error('Received non-200 status code', res) console.error('Received non-200 status code', res)
} }
} catch (error) { } catch (error) {
console.error('An error occurred while adding the poetryText:', error) console.error('An error occurred while adding the poetryText:', error)
// 异常处理逻辑 // 异常处理逻辑
} finally { } finally {
this.loading = false this.loading = false
} }
}, },
async onDelete(id) { async onDelete(id) {
this.dialogVisible = false this.dialogVisible = false
this.loading = true this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/aphorismPoetry/delete', { const { data: res } = await axios.get('http://120.79.36.53:8888/aphorismPoetry/delete', {
params: { params: {
id: id, id: id,
}, },
}) })
this.interviewPage() this.interviewPage()
this.loading = false this.loading = false
}, },
refreshPage() { refreshPage() {
//获取问题类型的枚举 //获取问题类型的枚举
this.interviewPage() this.interviewPage()
location.reload() location.reload()
}, },
async interviewPage() { async interviewPage() {
this.loading = true this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/aphorismPoetry/page', { const { data: res } = await axios.get('http://120.79.36.53:8888/aphorismPoetry/page', {
params: { params: {
page: this.currentPage, page: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
poetryText: this.formInline.poetryText, poetryText: this.formInline.poetryText,
}, },
}) })
if (res.code === 200) { if (res.code === 200) {
this.total = res.result.totalElements this.total = res.result.totalElements
this.algorithmicList = res.result.content this.algorithmicList = res.result.content
} }
this.loading = false this.loading = false
}, },
async interviewRandom() { async interviewRandom() {
this.loading = true 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', { params: {} })
if (res.code === 200) { if (res.code === 200) {
this.randomAlgorithmic.poetryText = res.result.poetryText this.randomAlgorithmic.poetryText = res.result.poetryText
} }
this.loading = false this.loading = false
}, },
handleCurrentChange(currentPage) { handleCurrentChange(currentPage) {
this.currentPage = currentPage this.currentPage = currentPage
this.interviewPage() this.interviewPage()
}, },
}, },
} }
</script> </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 @@ ...@@ -39,98 +39,98 @@
<script> <script>
import axios from 'axios' import axios from 'axios'
export default { export default {
name: 'MyChat', name: 'MyChat',
data() { data() {
return { return {
// 用户列表数据 // 用户列表数据
userlist: [], userlist: [],
loading: false, loading: false,
elementui_page_component_key: 0, elementui_page_component_key: 0,
currentPage: Number(localStorage.getItem('lastPage')) || 1, currentPage: Number(localStorage.getItem('lastPage')) || 1,
pageSize: 9, pageSize: 9,
total: 0, total: 0,
formInline: { formInline: {
question: '', question: '',
}, },
} }
}, },
watch: { watch: {
'formInline.question'(newVal, oldVal) { 'formInline.question'(newVal, oldVal) {
if (newVal !== oldVal) { if (newVal !== oldVal) {
this.currentPage = 1 this.currentPage = 1
localStorage.setItem('lastPage', this.currentPage) localStorage.setItem('lastPage', this.currentPage)
this.initCartList() this.initCartList()
} }
}, },
}, },
created() { created() {
this.$nextTick(() => { this.$nextTick(() => {
const foo = this.$route.query.back const foo = this.$route.query.back
const add = this.$route.query.add const add = this.$route.query.add
if (foo === 'back' && add != 'add') { if (foo === 'back' && add != 'add') {
this.currentPage = Number(localStorage.getItem('lastPage')) || 1 this.currentPage = Number(localStorage.getItem('lastPage')) || 1
this.formInline.question = localStorage.getItem('lastQuestion') || '' this.formInline.question = localStorage.getItem('lastQuestion') || ''
} else { } else {
localStorage.setItem('lastPage', 1) localStorage.setItem('lastPage', 1)
localStorage.setItem('lastQuestion', '') localStorage.setItem('lastQuestion', '')
this.currentPage = 1 this.currentPage = 1
this.formInline.question = '' this.formInline.question = ''
} }
// 调用请求数据的方法 // 调用请求数据的方法
this.initCartList() this.initCartList()
}) })
}, },
mounted() { mounted() {
this.currentPage = Number(localStorage.getItem('lastPage')) || 1 this.currentPage = Number(localStorage.getItem('lastPage')) || 1
this.formInline.question = localStorage.getItem('lastQuestion') this.formInline.question = localStorage.getItem('lastQuestion')
this.elementui_page_component_key++ this.elementui_page_component_key++
}, },
methods: { methods: {
async onDelete(id) { async onDelete(id) {
this.loading = true this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/chatbot/delete', { const { data: res } = await axios.get('http://120.79.36.53:8888/chatbot/delete', {
params: { params: {
id: id, id: id,
}, },
}) })
this.initCartList() this.initCartList()
this.loading = false this.loading = false
}, },
refreshPage() { refreshPage() {
location.reload() location.reload()
}, },
gotoDetail(id) { gotoDetail(id) {
this.$router.push('/home/chatinfo/' + id) this.$router.push('/home/chatinfo/' + id)
}, },
addChat() { addChat() {
this.$router.push('/home/addChat/') this.$router.push('/home/addChat/')
}, },
async initCartList() { async initCartList() {
this.loading = true this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/chatbot/page', { const { data: res } = await axios.get('http://120.79.36.53:8888/chatbot/page', {
params: { params: {
page: this.currentPage, page: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
question: this.formInline.question, 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
},
handleCurrentChange(currentPage) { if (res.code === 200) {
this.currentPage = currentPage this.userlist = res.result.content
this.initCartList() 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> </script>
......
此差异已折叠。
...@@ -105,332 +105,332 @@ ...@@ -105,332 +105,332 @@
<script> <script>
import axios from 'axios' import axios from 'axios'
export default { export default {
name: 'MyInterview', name: 'MyInterview',
data() { data() {
return { return {
// 用户列表数据 // 用户列表数据
userlist: [], userlist: [],
loading: false, loading: false,
elementui_page_component_key: 0, elementui_page_component_key: 0,
currentPage: Number(localStorage.getItem('interviewLastPage')) || 1, currentPage: Number(localStorage.getItem('interviewLastPage')) || 1,
pageSize: 9, pageSize: 9,
total: 0, total: 0,
formInline: { formInline: {
question: '', question: '',
}, },
options: [], options: [],
questionType: 0, questionType: 0,
// 新增的内容 // 新增的内容
dialogFormVisible: false, dialogFormVisible: false,
dialogMutiFormVisible: false, dialogMutiFormVisible: false,
form: { form: {
question: '', question: '',
questionType: 0, questionType: 0,
}, },
formLabelWidth: '120px', formLabelWidth: '120px',
dialogVisible: false, dialogVisible: false,
editVisible: false, editVisible: false,
currentRowId: null, currentRowId: null,
colorMap: {}, // 创建一个空的颜色映射关系对象 colorMap: {}, // 创建一个空的颜色映射关系对象
} }
}, },
watch: { watch: {
'formInline.question'(newVal, oldVal) { 'formInline.question'(newVal, oldVal) {
if (newVal !== oldVal) { if (newVal !== oldVal) {
this.currentPage = 1 this.currentPage = 1
localStorage.setItem('interviewLastPage', this.currentPage) localStorage.setItem('interviewLastPage', this.currentPage)
this.getQuestionType() this.getQuestionType()
} }
}, },
// 监听currentPage的变化,将新值保存到localStorage中 // 监听currentPage的变化,将新值保存到localStorage中
currentPage(newPage) { currentPage(newPage) {
localStorage.setItem('interviewLastPage', newPage.toString()) localStorage.setItem('interviewLastPage', newPage.toString())
}, },
}, },
created() { created() {
//获取问题列表 //获取问题列表
this.getQuestionType() this.getQuestionType()
}, },
mounted() { mounted() {
this.currentPage = 1 this.currentPage = 1
// // 在页面加载时从localStorage中获取currentPage的值 // // 在页面加载时从localStorage中获取currentPage的值
// const storedPage = localStorage.getItem('interviewLastPage') // const storedPage = localStorage.getItem('interviewLastPage')
// if (storedPage) { // if (storedPage) {
// this.currentPage = parseInt(storedPage) // this.currentPage = parseInt(storedPage)
// } // }
}, },
methods: { methods: {
prepareAdd() { prepareAdd() {
this.form.question = '' this.form.question = ''
this.form.questionType = 0 this.form.questionType = 0
this.dialogFormVisible = true this.dialogFormVisible = true
}, },
prepareMutiAdd() { prepareMutiAdd() {
this.form.question = '' this.form.question = ''
this.form.questionType = 0 this.form.questionType = 0
this.dialogMutiFormVisible = true this.dialogMutiFormVisible = true
}, },
prepareDelete(id) { prepareDelete(id) {
this.currentRowId = id this.currentRowId = id
this.dialogVisible = true this.dialogVisible = true
}, },
preEdit(id, question, questionTypeName) { preEdit(id, question, questionTypeName) {
this.form.question = question this.form.question = question
// 定义一个映射(map)来存储 questionType 到 name 的转换 // 定义一个映射(map)来存储 questionType 到 name 的转换
const questionTypeToNameMap = {} const questionTypeToNameMap = {}
this.options.forEach((option) => { this.options.forEach((option) => {
questionTypeToNameMap[option.name] = option.questionType questionTypeToNameMap[option.name] = option.questionType
}) })
this.form.questionType = questionTypeToNameMap[questionTypeName] this.form.questionType = questionTypeToNameMap[questionTypeName]
this.currentRowId = id this.currentRowId = id
this.editVisible = true this.editVisible = true
}, },
handleClose(done) { handleClose(done) {
this.$confirm('确认关闭?') this.$confirm('确认关闭?')
.then((_) => { .then((_) => {
done() done()
}) })
.catch((_) => {}) .catch((_) => {})
}, },
handleConfirm(addType) { handleConfirm(addType) {
this.dialogFormVisible = false // 关闭对话框 this.dialogFormVisible = false // 关闭对话框
this.dialogMutiFormVisible = false this.dialogMutiFormVisible = false
this.addQuestion(addType) // 发送请求 this.addQuestion(addType) // 发送请求
}, },
async addQuestion(addType) { async addQuestion(addType) {
try { try {
this.loading = true this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/interviewQuestion/add', { const { data: res } = await axios.post('http://120.79.36.53:8888/interviewQuestion/add', {
addType: addType, addType: addType,
question: this.form.question, question: this.form.question,
questionType: this.form.questionType, questionType: this.form.questionType,
}) })
if (res.code === 200) { if (res.code === 200) {
this.currentPage = 1 this.currentPage = 1
this.form.question = '' this.form.question = ''
this.form.questionType = 0 this.form.questionType = 0
this.getQuestionType() // 确保这个方法是有效的 this.getQuestionType() // 确保这个方法是有效的
} else { } else {
console.error('Received non-200 status code', res) console.error('Received non-200 status code', res)
this.errorMsg(res.message) this.errorMsg(res.message)
} }
} catch (error) { } catch (error) {
console.error('An error occurred while adding the question:', error) console.error('An error occurred while adding the question:', error)
// 异常处理逻辑 // 异常处理逻辑
} finally { } finally {
this.loading = false this.loading = false
} }
}, },
errorMsg(msg) { errorMsg(msg) {
this.$message({ this.$message({
showClose: true, showClose: true,
message: msg, message: msg,
type: 'error', type: 'error',
}) })
}, },
async editConfirm() { async editConfirm() {
try { try {
this.loading = true this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/interviewQuestion/update', { const { data: res } = await axios.post('http://120.79.36.53:8888/interviewQuestion/update', {
id: this.currentRowId, id: this.currentRowId,
question: this.form.question, question: this.form.question,
questionType: this.form.questionType, questionType: this.form.questionType,
}) })
if (res.code === 200) { if (res.code === 200) {
this.form.question = '' this.form.question = ''
this.form.questionType = 0 this.form.questionType = 0
this.editVisible = false this.editVisible = false
currentRowId: null currentRowId: null
this.getQuestionType() // 确保这个方法是有效的 this.getQuestionType() // 确保这个方法是有效的
} else { } else {
console.error('Received non-200 status code', res) console.error('Received non-200 status code', res)
} }
} catch (error) { } catch (error) {
console.error('An error occurred while adding the question:', error) console.error('An error occurred while adding the question:', error)
// 异常处理逻辑 // 异常处理逻辑
} finally { } finally {
this.loading = false this.loading = false
} }
}, },
async onDelete(id) { async onDelete(id) {
this.dialogVisible = false this.dialogVisible = false
this.loading = true this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/interviewQuestion/delete', { const { data: res } = await axios.get('http://120.79.36.53:8888/interviewQuestion/delete', {
params: { params: {
id: id, id: id,
}, },
}) })
this.getQuestionType() this.getQuestionType()
this.loading = false this.loading = false
}, },
refreshPage() { refreshPage() {
//获取问题类型的枚举 //获取问题类型的枚举
this.getQuestionType() this.getQuestionType()
location.reload() location.reload()
}, },
async getQuestionType() { async getQuestionType() {
const { data: res } = await axios.get('http://120.79.36.53:8888/interviewQuestion/questionType', { params: {} }) const { data: res } = await axios.get('http://120.79.36.53:8888/interviewQuestion/questionType', { params: {} })
if (res.code === 200) { if (res.code === 200) {
this.options = res.result this.options = res.result
this.interviewPage() this.interviewPage()
} }
}, },
async interviewPage() { async interviewPage() {
this.loading = true this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/interviewQuestion/page', { const { data: res } = await axios.get('http://120.79.36.53:8888/interviewQuestion/page', {
params: { params: {
page: this.currentPage, page: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
question: this.formInline.question, question: this.formInline.question,
questionType: this.questionType, questionType: this.questionType,
}, },
}) })
if (res.code === 200) { if (res.code === 200) {
this.total = res.result.totalElements this.total = res.result.totalElements
// 定义一个映射(map)来存储 questionType 到 name 的转换 // 定义一个映射(map)来存储 questionType 到 name 的转换
const questionTypeToNameMap = {} const questionTypeToNameMap = {}
this.options.forEach((option) => { this.options.forEach((option) => {
questionTypeToNameMap[option.questionType] = option.name questionTypeToNameMap[option.questionType] = option.name
}) })
// 修改 userlist 中的每一个元素,将 questionType 转换为 name // 修改 userlist 中的每一个元素,将 questionType 转换为 name
res.result.content.forEach((user) => { res.result.content.forEach((user) => {
user.questionTypeName = questionTypeToNameMap[user.questionType] || 'Unknown' user.questionTypeName = questionTypeToNameMap[user.questionType] || 'Unknown'
}) })
this.userlist = res.result.content this.userlist = res.result.content
} }
this.loading = false this.loading = false
}, },
handleCurrentChange(currentPage) { handleCurrentChange(currentPage) {
this.currentPage = currentPage this.currentPage = currentPage
this.getQuestionType() this.getQuestionType()
}, },
getColorForValue(value) { getColorForValue(value) {
// 检查颜色映射关系中是否已经有该值对应的颜色 // 检查颜色映射关系中是否已经有该值对应的颜色
if (!this.colorMap[value]) { if (!this.colorMap[value]) {
// 如果没有,随机生成一个颜色并将其关联到该值 // 如果没有,随机生成一个颜色并将其关联到该值
this.colorMap[value] = this.getRandomColor() this.colorMap[value] = this.getRandomColor()
} }
// 返回值对应的颜色 // 返回值对应的颜色
return this.colorMap[value] return this.colorMap[value]
}, },
getRandomColor() { getRandomColor() {
// 从颜色数组中随机选取一个颜色 // 从颜色数组中随机选取一个颜色
const colorArray = [ const colorArray = [
'red', 'red',
'blue', 'blue',
'green', 'green',
'yellow', 'yellow',
'purple', 'purple',
'orange', 'orange',
'pink', 'pink',
'brown', 'brown',
'cyan', 'cyan',
'magenta', 'magenta',
'maroon', 'maroon',
'navy', 'navy',
'olive', 'olive',
'teal', 'teal',
'lime', 'lime',
'aqua', 'aqua',
'silver', 'silver',
'gray', 'gray',
'white', 'white',
'indigo', 'indigo',
'violet', 'violet',
'lavender', 'lavender',
'coral', 'coral',
'gold', 'gold',
'salmon', 'salmon',
'turquoise', 'turquoise',
'orchid', 'orchid',
'khaki', 'khaki',
'slategray', 'slategray',
'thistle', 'thistle',
'burlywood', 'burlywood',
'cadetblue', 'cadetblue',
'chartreuse', 'chartreuse',
'chocolate', 'chocolate',
'crimson', 'crimson',
'darkblue', 'darkblue',
'darkcyan', 'darkcyan',
'darkgoldenrod', 'darkgoldenrod',
'darkgray', 'darkgray',
'darkgreen', 'darkgreen',
'darkkhaki', 'darkkhaki',
'darkmagenta', 'darkmagenta',
'darkolivegreen', 'darkolivegreen',
'darkorange', 'darkorange',
'darkorchid', 'darkorchid',
'darkred', 'darkred',
'darksalmon', 'darksalmon',
'darkseagreen', 'darkseagreen',
'darkslateblue', 'darkslateblue',
'darkslategray', 'darkslategray',
'darkturquoise', 'darkturquoise',
'darkviolet', 'darkviolet',
'deeppink', 'deeppink',
'deepskyblue', 'deepskyblue',
'dodgerblue', 'dodgerblue',
'firebrick', 'firebrick',
'forestgreen', 'forestgreen',
'fuchsia', 'fuchsia',
'gold', 'gold',
'greenyellow', 'greenyellow',
'hotpink', 'hotpink',
'indianred', 'indianred',
'lawngreen', 'lawngreen',
'lightcoral', 'lightcoral',
'lightgreen', 'lightgreen',
'lightpink', 'lightpink',
'lightsalmon', 'lightsalmon',
'lightseagreen', 'lightseagreen',
'lightskyblue', 'lightskyblue',
'lightslategray', 'lightslategray',
'lightsteelblue', 'lightsteelblue',
'mediumaquamarine', 'mediumaquamarine',
'mediumblue', 'mediumblue',
'mediumorchid', 'mediumorchid',
'mediumpurple', 'mediumpurple',
'mediumseagreen', 'mediumseagreen',
'mediumslateblue', 'mediumslateblue',
'mediumspringgreen', 'mediumspringgreen',
'mediumturquoise', 'mediumturquoise',
'mediumvioletred', 'mediumvioletred',
'midnightblue', 'midnightblue',
'orangered', 'orangered',
'palegoldenrod', 'palegoldenrod',
'palegreen', 'palegreen',
'paleturquoise', 'paleturquoise',
'palevioletred', 'palevioletred',
'peru', 'peru',
'powderblue', 'powderblue',
'rosybrown', 'rosybrown',
'saddlebrown', 'saddlebrown',
'seagreen', 'seagreen',
'sienna', 'sienna',
'skyblue', 'skyblue',
'slateblue', 'slateblue',
'springgreen', 'springgreen',
'tan', 'tan',
'thistle', 'thistle',
'tomato', 'tomato',
'turquoise', 'turquoise',
'violet', 'violet',
] ]
const randomIndex = Math.floor(Math.random() * colorArray.length) const randomIndex = Math.floor(Math.random() * colorArray.length)
return colorArray[randomIndex] return colorArray[randomIndex]
}, },
}, },
} }
</script> </script>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<el-form-item> <el-form-item>
<el-button type="primary" @click="prepareReset">重置</el-button> <el-button type="primary" @click="prepareReset">重置</el-button>
</el-form-item> </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>确认重置吗?</span>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="resetDialogVisible = false">取 消</el-button> <el-button @click="resetDialogVisible = false">取 消</el-button>
...@@ -54,86 +54,86 @@ ...@@ -54,86 +54,86 @@
<script> <script>
import axios from 'axios' import axios from 'axios'
export default { export default {
name: 'MyTripletDayInfo', name: 'MyTripletDayInfo',
data() { data() {
return { return {
formInline: { formInline: {
startDate: null, startDate: null,
endDate: null, endDate: null,
}, },
// 用户列表数据 // 用户列表数据
tripletDayInfoList: [], tripletDayInfoList: [],
loading: false, loading: false,
resetDialogVisible: false, resetDialogVisible: false,
elementui_page_component_key: 0, elementui_page_component_key: 0,
currentPage: Number(localStorage.getItem('csdnTripletDayInfoPage')) || 1, currentPage: Number(localStorage.getItem('csdnTripletDayInfoPage')) || 1,
pageSize: 9, pageSize: 9,
total: 0, total: 0,
} }
}, },
watch: { watch: {
'formInline.startDate'(newVal, oldVal) { 'formInline.startDate'(newVal, oldVal) {
if (newVal !== oldVal) { if (newVal !== oldVal) {
this.currentPage = 1 this.currentPage = 1
localStorage.setItem('csdnTripletDayInfoPage', this.currentPage) localStorage.setItem('csdnTripletDayInfoPage', this.currentPage)
this.tripletDayInfoPage() this.tripletDayInfoPage()
} }
}, },
'formInline.endDate'(newVal, oldVal) { 'formInline.endDate'(newVal, oldVal) {
if (newVal !== oldVal) { if (newVal !== oldVal) {
this.currentPage = 1 this.currentPage = 1
localStorage.setItem('csdnTripletDayInfoPage', this.currentPage) localStorage.setItem('csdnTripletDayInfoPage', this.currentPage)
this.tripletDayInfoPage() this.tripletDayInfoPage()
} }
}, },
// 监听currentPage的变化,将新值保存到localStorage中 // 监听currentPage的变化,将新值保存到localStorage中
currentPage(newPage) { currentPage(newPage) {
localStorage.setItem('csdnTripletDayInfoPage', newPage.toString()) localStorage.setItem('csdnTripletDayInfoPage', newPage.toString())
}, },
}, },
created() { created() {
//获取问题类型的枚举 //获取问题类型的枚举
this.tripletDayInfoPage() this.tripletDayInfoPage()
}, },
mounted() { mounted() {
this.currentPage = 1 this.currentPage = 1
}, },
methods: { methods: {
prepareReset() { prepareReset() {
this.resetDialogVisible = true this.resetDialogVisible = true
}, },
async tripletDayInfoPage() { async tripletDayInfoPage() {
this.loading = true this.loading = true
const { data: res } = await axios.post('http://120.79.36.53:8888/dayInfo/page', { const { data: res } = await axios.post('http://120.79.36.53:8888/dayInfo/page', {
page: this.currentPage, page: this.currentPage,
pageSize: this.pageSize, pageSize: this.pageSize,
startDate: this.formInline.startDate, startDate: this.formInline.startDate,
endDate: this.formInline.endDate, endDate: this.formInline.endDate,
}) })
if (res.code === 200) { if (res.code === 200) {
this.total = res.result.totalElements this.total = res.result.totalElements
this.tripletDayInfoList = res.result.content this.tripletDayInfoList = res.result.content
} }
this.loading = false this.loading = false
}, },
async reset() { async reset() {
this.loading = true this.loading = true
const { data: res } = await axios.get('http://120.79.36.53:8888/dayInfo/add') const { data: res } = await axios.get('http://120.79.36.53:8888/dayInfo/add')
this.resetDialogVisible = false this.resetDialogVisible = false
this.tripletDayInfoPage() this.tripletDayInfoPage()
this.loading = false this.loading = false
}, },
handleCurrentChange(currentPage) { handleCurrentChange(currentPage) {
this.currentPage = currentPage this.currentPage = currentPage
this.tripletDayInfoPage() this.tripletDayInfoPage()
}, },
refreshPage() { refreshPage() {
//获取问题类型的枚举 //获取问题类型的枚举
this.tripletDayInfoPage() this.tripletDayInfoPage()
location.reload() location.reload()
}, },
}, },
} }
</script> </script>
......
...@@ -32,13 +32,19 @@ ...@@ -32,13 +32,19 @@
</router-link> </router-link>
<router-link to="/home/csdnUser"> <router-link to="/home/csdnUser">
<el-menu-item index="/csdnUser" class="left-aside-item"> <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> <span slot="title">用户管理</span>
</el-menu-item> </el-menu-item>
</router-link> </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"> <router-link to="/home/tripletDayInfo">
<el-menu-item index="/tripletDayInfo" class="left-aside-item"> <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> <span slot="title">三连管理</span>
</el-menu-item> </el-menu-item>
</router-link> </router-link>
......
...@@ -7,7 +7,9 @@ ...@@ -7,7 +7,9 @@
<!-- 标题 --> <!-- 标题 -->
<h4 class="layout-header-left-title ml-3">kwan的解忧杂货铺</h4> <h4 class="layout-header-left-title ml-3">kwan的解忧杂货铺</h4>
</div> </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-row>
<el-col :inline="true" :span="24"> <el-col :inline="true" :span="24">
<el-button class="el-button-header" type="success" round @click="myHome">我的主页</el-button> <el-button class="el-button-header" type="success" round @click="myHome">我的主页</el-button>
...@@ -26,11 +28,12 @@ export default { ...@@ -26,11 +28,12 @@ export default {
randomAlgorithmic: { randomAlgorithmic: {
poetryText: '', poetryText: '',
}, },
textColor: 'skyblue', // 初始字体颜色为黑色
loading: false,
color: [ color: [
'red', 'red',
'blue', 'blue',
'green', 'green',
'yellow',
'purple', 'purple',
'orange', 'orange',
'pink', 'pink',
...@@ -128,19 +131,12 @@ export default { ...@@ -128,19 +131,12 @@ export default {
'turquoise', 'turquoise',
'violet', 'violet',
], ],
textColor: 'skyblue', // 初始字体颜色为黑色
loading: false,
} }
}, },
watch: { watch: {
'randomAlgorithmic.poetryText': { 'randomAlgorithmic.poetryText'(newVal, oldVal) {
handler(newValue, oldValue) { // 当值改变时,根据条件设置不同的字体颜色
if (newValue !== oldValue) { this.textColor = this.getRandomColor()
// 当值改变时,根据条件设置不同的字体颜色
this.textColor = this.getRandomColor()
}
},
deep: true,
}, },
}, },
created() { created() {
...@@ -164,19 +160,18 @@ export default { ...@@ -164,19 +160,18 @@ export default {
}, },
async interviewRandom() { async interviewRandom() {
this.loading = true 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) { if (res.code === 200) {
this.randomAlgorithmic.poetryText = res.result.poetryText this.randomAlgorithmic.poetryText = res.result.poetryText
} }
this.loading = false this.loading = false
}, },
// 定时执行 interviewRandom 方法 // 定时执行 interviewRandom 方法
startInterviewRandomTimer() { startInterviewRandomTimer() {
this.interviewRandom() // 首次调用方法 this.interviewRandom() // 首次调用方法
this.interviewRandomTimer = setInterval(() => { this.interviewRandomTimer = setInterval(() => {
this.interviewRandom() this.interviewRandom()
}, 10000) // 5000 毫秒(5秒)为间隔 }, 15000) // 5000 毫秒(5秒)为间隔
}, },
// 停止定时执行 interviewRandom 方法 // 停止定时执行 interviewRandom 方法
...@@ -193,11 +188,6 @@ export default { ...@@ -193,11 +188,6 @@ export default {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.layout-header-container {
height: 60px;
border-bottom: 1px solid #eaeaea;
}
.layout-header-left-img { .layout-header-left-img {
height: 50px; height: 50px;
} }
......
...@@ -12,6 +12,7 @@ import Interview from '@/components/menus/MyInterview.vue' ...@@ -12,6 +12,7 @@ import Interview from '@/components/menus/MyInterview.vue'
import Algorithmic from '@/components/menus/MyAlgorithmic.vue' import Algorithmic from '@/components/menus/MyAlgorithmic.vue'
import AphorismPoetry from '@/components/menus/MyAphorismPoetry.vue' import AphorismPoetry from '@/components/menus/MyAphorismPoetry.vue'
import MyCsdnUser from '@/components/menus/MyCsdnUser.vue' import MyCsdnUser from '@/components/menus/MyCsdnUser.vue'
import MyArticleInfo from '@/components/menus/MyArticleInfo.vue'
import MyTripletDayInfo from '@/components/menus/MyTripletDayInfo.vue' import MyTripletDayInfo from '@/components/menus/MyTripletDayInfo.vue'
import MyChatDetail from '@/components/user/MyChatDetail.vue' import MyChatDetail from '@/components/user/MyChatDetail.vue'
import AddChatDetail from '@/components/user/AddChatDetail.vue' import AddChatDetail from '@/components/user/AddChatDetail.vue'
...@@ -84,6 +85,12 @@ const router = new VueRouter({ ...@@ -84,6 +85,12 @@ const router = new VueRouter({
meta: { meta: {
title: '三连管理' // 设置默认标题 title: '三连管理' // 设置默认标题
} }
}, {
path: 'articleInfo',
component: MyArticleInfo,
meta: {
title: '文章管理' // 设置默认标题
}
}, { }, {
path: 'chatinfo/:id', path: 'chatinfo/:id',
component: MyChatDetail, component: MyChatDetail,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册