feat: 修改部分文案及删除多余内容

This commit is contained in:
秋水浮尘
2023-11-14 00:52:40 +08:00
parent 13f794caea
commit 3218fccf7c
15 changed files with 702 additions and 773 deletions

View File

@@ -305,6 +305,7 @@ const CategoryList = ({ primaryCategoryId, categoryList, ...props }) => {
dashed
style={{
marginTop: 10,
marginBottom: 10,
fontSize: 13,
cursor: 'pointer'
}}
@@ -326,11 +327,6 @@ const CategoryList = ({ primaryCategoryId, categoryList, ...props }) => {
<div className='category-box'>
<Fragment>{categoryList?.length && renderFirstContainer()}</Fragment>
<Fragment>{secondCategoryList?.length > 0 && renderSecondContainer()}</Fragment>
{/* {!this.props.isHideSec && (
<Fragment>
{secondCategoryList?.length > 0 && this.renderSecondContainer()}
</Fragment>
)} */}
<Modal
open={openMoreFlag}
footer={null}

View File

@@ -1,200 +1,186 @@
.category-box {
.first-category-list {
.first-category-list {
display: flex;
width: 100%;
.first-category-item {
flex-shrink: 1;
display: inline-flex;
flex-direction: column;
justify-content: space-between;
margin-right: 18px;
padding: 10px 12px;
width: 120px;
height: 76px;
cursor: pointer;
border-radius: 4px;
background-size: 100% 100%;
background-color: rgba(0, 0, 0, 0.04);
font-weight: 400;
transition: all 0.5s;
&-title {
color: #ffffff;
font-size: 14px;
text-overflow: ellipsis;
-webkit-line-clamp: 1;
overflow: hidden;
-webkit-box-orient: vertical;
display: -webkit-box;
word-wrap: break-word;
word-break: break-all;
}
&-count {
font-size: 12px;
color: rgba(255, 255, 255, 0.65);
line-height: 16px;
word-wrap: break-word;
}
&:hover {
transition: all 0.5s;
transform: translateY(-8px);
}
&-active {
transform: translateY(-8px);
}
}
.first-category-more {
display: flex;
justify-content: center;
align-items: center;
width: 88px;
height: 76px;
font-size: 16px;
color: #13b4ff;
line-height: 20px;
cursor: pointer;
border-radius: 4px;
background-color: rgba(19, 180, 255, 0.08);
}
}
.second-category-list {
padding-top: 15px;
border-radius: 4px;
.second-category-item {
display: flex;
.second-category-item-title {
display: flex;
align-items: center;
margin-right: 16px;
min-width: 70px;
height: 40px;
font-size: 14px;
color: rgba(0, 0, 0, 0.85);
font-weight: bold;
}
.second-category-item-box {
flex: 1;
display: flex;
justify-content: space-between;
width: 100%;
.first-category-item {
flex-shrink: 1;
display: inline-flex;
flex-direction: column;
justify-content: space-between;
margin-right: 18px;
padding: 10px 12px;
width: 120px;
height: 76px;
cursor: pointer;
border-radius: 4px;
background-size: 100% 100%;
background-color: rgba(0, 0, 0, 0.04);
font-weight: 400;
transition: all 0.5s;
&-title {
color: #ffffff;
font-size: 14px;
text-overflow: ellipsis;
-webkit-line-clamp: 1;
overflow: hidden;
-webkit-box-orient: vertical;
display: -webkit-box;
word-wrap: break-word;
word-break: break-all;
}
&-count {
font-size: 12px;
color: rgba(255, 255, 255, 0.65);
line-height: 16px;
word-wrap: break-word;
}
&:hover {
transition: all 0.5s;
transform: translateY(-8px);
}
&-active {
transform: translateY(-8px);
}
}
.first-category-more {
.second-category-item-list {
flex: 1;
display: flex;
flex-wrap: wrap;
height: 43px;
overflow: hidden;
.third-category-item {
display: flex;
justify-content: center;
align-items: center;
width: 88px;
height: 76px;
font-size: 16px;
color: #13b4ff;
line-height: 20px;
padding: 2px 8px;
margin: 8px 15px 8px 0;
cursor: pointer;
font-size: 14px;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 4px;
background-color: rgba(19, 180, 255, 0.08);
}
}
.second-category-list {
padding-top: 15px;
border-radius: 4px;
.second-category-item {
display: flex;
.second-category-item-title {
display: flex;
align-items: center;
margin-right: 16px;
min-width: 60px;
height: 40px;
font-size: 14px;
color: rgba(0, 0, 0, 0.85);
font-weight: bold;
}
.second-category-item-box {
flex: 1;
display: flex;
justify-content: space-between;
width: 100%;
.second-category-item-list {
flex: 1;
display: flex;
flex-wrap: wrap;
height: 43px;
overflow: hidden;
.third-category-item {
display: flex;
justify-content: center;
align-items: center;
padding: 2px 8px;
margin: 8px 15px 8px 0;
cursor: pointer;
font-size: 14px;
border: 1px solid rgba(0, 0, 0, 0.04);
border-radius: 4px;
// @mixin box-backgroundColor($alpha: 1) {
// background-color: rgba(60, 110, 238, $alpha) !important;
// }
// @mixin box-border($width: 1px, $style: solid, $alpha: 1) {
// border: $width $style rgba(60, 110, 238, $alpha) !important;
// }
// @mixin font-color($alpha: 1) {
// color: rgba(60, 110, 238, $alpha) !important;
// }
&:hover {
background-color: rgba(60, 110, 238, 0.1);
border: 1px solid rgba(60, 110, 238, 1);
color: rgba(60, 110, 238, 1)
}
}
.third-category-item-active {
// @include box-backgroundColor(0.1);
// @include box-border();
// @include font-color();
background-color: rgba(60, 110, 238, 0.1);
border: 1px solid rgba(60, 110, 238, 1);
color: rgba(60, 110, 238, 1)
}
}
.second-category-item-status {
display: flex;
margin-top: 8px;
align-items: center;
justify-content: center;
padding: 4px 4px 4px 8px;
width: 54px;
height: 28px;
color: rgba(0, 0, 0, 0.85);
font-size: 14px;
cursor: pointer;
&:hover {
background: rgba(0, 0, 0, 0.04);
border-radius: 4px;
}
}
&:hover {
background-color: rgba(60, 110, 238, 0.1);
border: 1px solid rgba(60, 110, 238, 1);
color: rgba(60, 110, 238, 1);
}
}
.third-category-item-active {
background-color: rgba(60, 110, 238, 0.1);
border: 1px solid rgba(60, 110, 238, 1);
color: rgba(60, 110, 238, 1);
}
}
.ant-divider-horizontal.ant-divider-with-text-center {
margin: 0;
.second-category-item-status {
display: flex;
margin-top: 8px;
align-items: center;
justify-content: center;
padding: 4px 4px 4px 8px;
width: 54px;
height: 28px;
color: rgba(0, 0, 0, 0.85);
font-size: 14px;
cursor: pointer;
&:hover {
background: rgba(0, 0, 0, 0.04);
border-radius: 4px;
}
}
}
}
.ant-divider-horizontal.ant-divider-with-text-center {
margin: 0;
}
}
}
.ant-modal-content {
width: 606px;
background-color: #fff;
.ant-modal-body {
padding: 24px;
.first-category-more-list {
display: flex;
flex-wrap: wrap;
width: 100%;
.first-category-item {
flex-shrink: 1;
display: inline-flex;
flex-direction: column;
justify-content: space-between;
margin: 10px 8px;
padding: 10px 12px;
width: 120px;
height: 76px;
cursor: pointer;
border-radius: 4px;
background-size: 100% 100%;
background-color: rgba(0, 0, 0, 0.04);
font-weight: 400;
transition: all 0.5s;
&-title {
color: #ffffff;
font-size: 14px;
text-overflow: ellipsis;
-webkit-line-clamp: 1;
overflow: hidden;
/* autoprefixer: off */
-webkit-box-orient: vertical;
display: -webkit-box;
word-wrap: break-word;
word-break: break-all;
}
&-count {
font-size: 12px;
color: rgba(255, 255, 255, 0.65);
line-height: 16px;
word-wrap: break-word;
}
&:hover {
transition: all 0.5s;
transform: translateY(-8px);
}
&-active {
transform: translateY(-8px);
}
&:nth-child(4n) {
margin-right: 0;
}
}
}
width: 606px;
background-color: #fff;
.ant-modal-body {
padding: 24px;
.first-category-more-list {
display: flex;
flex-wrap: wrap;
width: 100%;
.first-category-item {
flex-shrink: 1;
display: inline-flex;
flex-direction: column;
justify-content: space-between;
margin: 10px 8px;
padding: 10px 12px;
width: 120px;
height: 76px;
cursor: pointer;
border-radius: 4px;
background-size: 100% 100%;
background-color: rgba(0, 0, 0, 0.04);
font-weight: 400;
transition: all 0.5s;
&-title {
color: #ffffff;
font-size: 14px;
text-overflow: ellipsis;
-webkit-line-clamp: 1;
overflow: hidden;
/* autoprefixer: off */
-webkit-box-orient: vertical;
display: -webkit-box;
word-wrap: break-word;
word-break: break-all;
}
}
&-count {
font-size: 12px;
color: rgba(255, 255, 255, 0.65);
line-height: 16px;
word-wrap: break-word;
}
&:hover {
transition: all 0.5s;
transform: translateY(-8px);
}
&-active {
transform: translateY(-8px);
}
&:nth-child(4n) {
margin-right: 0;
}
}
}
}
}

View File

@@ -1,8 +1,7 @@
import React, { Component } from 'react'
import { Modal, Input, Radio, message } from 'antd'
import { HeartTwoTone, LikeTwoTone, InfoCircleTwoTone } from '@ant-design/icons'
import { collection, good } from './constant'
import { HeartTwoTone, InfoCircleTwoTone, LikeTwoTone } from '@ant-design/icons'
import req from '@utils/request'
import { Input, Modal, Radio, message } from 'antd'
import React, { Component } from 'react'
import './index.less'
const { TextArea } = Input
@@ -19,19 +18,19 @@ export default class GoodCollectionError extends Component {
isModal: false, //是否显示纠错弹框
value: 1, //纠错类型对应值
inputValue: '', //纠错详情内容
questionId: '', //题目id
questionId: '' //题目id
}
}
/**纠错类型 */
errorType = [
{
value: 1,
content: '答案错误',
content: '答案错误'
},
{
value: 2,
content: '题目与答案不符',
},
content: '题目与答案不符'
}
]
componentDidMount() {
// this.getDetail()
@@ -39,32 +38,33 @@ export default class GoodCollectionError extends Component {
getDetail() {
let params = {
subjectId: this.props.questionId,
subjectId: this.props.questionId
}
req({
method: 'post',
data: params,
url: 'admin/question/collect/getDetail',
url: 'admin/question/collect/getDetail'
})
.then((res) => {
.then(res => {
if (res.data) {
this.setState({
isGood: res.data.isThump,
goodAmount: res.data.thumpCount,
isCollection: res.data.isCollect,
collectionAmount: res.data.collectCount,
collectionAmount: res.data.collectCount
})
}
})
.catch((err) => console.log(err))
.catch(err => console.log(err))
}
/**
* 点击纠错按钮
*/
handleModal = () => {
return message.info('敬请期待')
this.setState({
isModal: true,
isModal: true
})
}
/**
@@ -77,20 +77,20 @@ export default class GoodCollectionError extends Component {
let params = {
subjectId: questionId,
errorType: value,
errorMsg: inputValue,
errorMsg: inputValue
}
if (inputValue.length === 0) {
message.warning('请填写纠错详情!')
} else {
this.setState({
isModal: false,
inputValue: '',
inputValue: ''
})
message.success('感谢纠错,立即更改!')
JDreq({
req({
method: 'post',
data: params,
url: '/admin/question/subjectError/add',
url: '/admin/question/subjectError/add'
})
}
}
@@ -100,25 +100,25 @@ export default class GoodCollectionError extends Component {
handleCancel = () => {
this.setState({
isModal: false,
inputValue: '',
inputValue: ''
})
}
/**
*
* @param {选择纠错类型} e
*/
handleChangeRadio = (e) => {
handleChangeRadio = e => {
this.setState({
value: e.target.value,
value: e.target.value
})
}
/**
*
* @param {纠错详情中填写内容} e
*/
handleChangeInput = (e) => {
handleChangeInput = e => {
this.setState({
inputValue: e.target.value,
inputValue: e.target.value
})
}
/**
@@ -130,19 +130,19 @@ export default class GoodCollectionError extends Component {
const { isGood, goodAmount } = this.state
const { questionId } = this.props
let params = {
subjectId: questionId,
subjectId: questionId
}
this.setState(
{
isGood: isGood === true ? false : true,
goodAmount: isGood === true ? goodAmount - 1 : goodAmount + 1,
goodAmount: isGood === true ? goodAmount - 1 : goodAmount + 1
},
() => {
JDreq({
req({
method: 'post',
data: params,
url: 'admin/question/thump/addOrCancel',
}).catch((err) => console.log(err))
url: 'admin/question/thump/addOrCancel'
}).catch(err => console.log(err))
}
)
}
@@ -154,62 +154,68 @@ export default class GoodCollectionError extends Component {
const { isCollection, collectionAmount } = this.state
const { questionId } = this.props
let params = {
subjectId: questionId,
subjectId: questionId
}
this.setState(
{
isCollection: isCollection === true ? false : true,
collectionAmount: isCollection === true ? collectionAmount - 1 : collectionAmount + 1,
collectionAmount: isCollection === true ? collectionAmount - 1 : collectionAmount + 1
},
() => {
req({
method: 'post',
data: params,
url: 'admin/question/collect/addOrCancel',
}).catch((err) => console.log(err))
url: 'admin/question/collect/addOrCancel'
}).catch(err => console.log(err))
}
)
}
render() {
const { isCollection, isGood, isModal, value, collectionAmount, goodAmount } = this.state
return (
<div className="left">
<div className='left'>
<div
className="good"
size="middle"
className='good'
size='middle'
onClick={() => {
this.handleChangeGood()
}}
>
<LikeTwoTone twoToneColor={isGood == false ? 'grey' : 'blue'} style={{ marginRight: 4 }} />({goodAmount})
<LikeTwoTone
twoToneColor={isGood == false ? 'grey' : 'blue'}
style={{ marginRight: 4 }}
/>
({goodAmount})
</div>
<div
className="collection"
className='collection'
onClick={() => {
this.handleChangeCollection()
}}
>
<HeartTwoTone twoToneColor={isCollection == false ? 'grey' : 'blue'} style={{ marginRight: 4 }} />(
{collectionAmount})
<HeartTwoTone
twoToneColor={isCollection == false ? 'grey' : 'blue'}
style={{ marginRight: 4 }}
/>
({collectionAmount})
</div>
{/* <div className="comment">
<MessageTwoTone twoToneColor="blue" style={{ marginRight: 4 }} />
评论
</div> */}
<div
className="error-collection"
className='error-collection'
onClick={() => {
console.log('111')
this.handleModal()
}}
>
<InfoCircleTwoTone twoToneColor="red" style={{ marginRight: 4 }} />
<InfoCircleTwoTone twoToneColor='red' style={{ marginRight: 4 }} />
纠错
</div>
<Modal
className="error-modal"
title="题目纠错"
visible={isModal}
className='error-modal'
title='题目纠错'
open={isModal}
destroyOnClose={true}
onOk={() => {
this.handleOk()
@@ -217,25 +223,25 @@ export default class GoodCollectionError extends Component {
onCancel={() => {
this.handleCancel()
}}
okText="确认"
cancelText="取消"
okText='确认'
cancelText='取消'
style={{ fontWeight: 500 }}
>
<div>
<div className="error-collection-title">纠错类型</div>
<div className="error-collection-type">
<div className='error-collection-title'>纠错类型</div>
<div className='error-collection-type'>
{this.errorType.map((item, index) => {
return (
<div key={index} className="error-collection-type-detail">
<div key={index} className='error-collection-type-detail'>
<Radio.Group
onChange={(e) => {
onChange={e => {
this.handleChangeRadio(e)
}}
defaultValue={1}
buttonStyle="solid"
buttonStyle='solid'
value={value}
>
<Radio.Button value={item.value} className="ll">
<Radio.Button value={item.value} className='ll'>
{item.content}
</Radio.Button>
</Radio.Group>
@@ -243,14 +249,14 @@ export default class GoodCollectionError extends Component {
)
})}
</div>
<div className="error-collection-title">纠错详情</div>
<div className='error-collection-title'>纠错详情</div>
<TextArea
className="error-input"
placeholder="请输入..."
className='error-input'
placeholder='请输入...'
maxLength={256}
rows={4}
showCount={true}
onChange={(e) => {
onChange={e => {
this.handleChangeInput(e)
}}
/>

View File

@@ -1,82 +1,80 @@
.question-list-filter {
padding: 0px 6px 20px 9px;
background-color: #ffffff;
.question-filter-container {
padding: 0px 6px 20px 9px;
background-color: #ffffff;
.question-filter-container {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
padding-right: 18px;
padding-left: 5px;
.question-filter-box {
display: flex;
font-size: 14px;
.question-filter-select {
margin-right: 4px;
color: #000;
font-weight: bold;
border: 0;
.ant-select-selection {
border: 0;
}
}
}
.question-count-box {
color: rgba(0, 0, 0, 0.45);
.ant-btn {
margin-left: 16px;
width: 150px;
height: 34px;
font-size: 14px;
font-weight: 500;
color: #fff;
background-color: #13b4ff;
border-color: #13b4ff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.05);
}
}
}
.question-list-container {
.ant-table-tbody > tr > td {
// border-bottom: 0;
padding: 10px 4px 0 14px;
}
.ant-table-thead > tr > th {
background-color: #ffffff;
// border-bottom: 0;
}
.ant-table-row:hover {
cursor: pointer;
}
.ant-table-thead > tr > th .ant-table-header-column .ant-table-column-sorters:hover:before {
// background-color: #fff;
}
.question-info-container {
.question-info-desc {
font-size: 14px;
line-height: 18px;
color: rgba(0, 0, 0, 0.85);
font-weight: 500;
overflow: hidden;
text-overflow: ellipsis;
}
.question-info-tags {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
padding-right: 18px;
padding-left: 5px;
.question-filter-box {
display: flex;
font-size: 14px;
.question-filter-select {
margin-right: 4px;
color: #000;
font-weight: bold;
border: 0;
.ant-select-selection {
border: 0;
}
}
}
.question-count-box {
color: rgba(0, 0, 0, 0.45);
.ant-btn {
margin-left: 16px;
width: 150px;
height: 34px;
font-size: 14px;
font-weight: 500;
color: #fff;
background-color: #13b4ff;
border-color: #13b4ff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12);
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.05);
}
margin-top: 8px;
padding-bottom: 10px;
.question-info-tag {
margin-right: 10px;
padding: 0px 6px;
font-size: 10px !important;
border-radius: 4px;
}
}
}
.question-list-container {
.ant-table-tbody > tr > td {
// border-bottom: 0;
padding: 10px 4px 0 14px;
}
.ant-table-thead > tr > th {
background-color: #ffffff;
// border-bottom: 0;
}
.ant-table-row:hover {
cursor: pointer;
}
.ant-table-thead > tr > th .ant-table-header-column .ant-table-column-sorters:hover:before {
// background-color: #fff;
}
.question-info-container {
.question-info-desc {
font-size: 14px;
line-height: 18px;
color: rgba(0, 0, 0, 0.85);
font-weight: 500;
overflow: hidden;
text-overflow: ellipsis;
}
.question-info-tags {
display: flex;
margin-top: 8px;
padding-bottom: 10px;
.question-info-tag {
margin-right: 10px;
padding: 0px 6px;
font-size: 10px !important;
border-radius: 4px;
// @include font-color();
// border: 1px solid rgba(60, 110, 238, 0.6);
}
}
}
}
.question-type-icon {
width: 24px;
height: 24px;
}
}
.question-type-icon {
width: 24px;
height: 24px;
}
}