Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
corporate-culture-qd
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王立鹏
corporate-culture-qd
Commits
9ecaf19a
Commit
9ecaf19a
authored
Mar 17, 2026
by
王立鹏
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '线上优化/线上优化第三版' into 'master'
线上优化/线上优化第三版 See merge request
!8
parents
4c7cb11f
cd16fba5
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
53 additions
and
23 deletions
+53
-23
index.vue
src/components/common/ArticleContent/index.vue
+7
-2
index.vue
src/components/common/PublishBox/index.vue
+5
-2
useResetData.ts
src/hooks/useResetData.ts
+9
-4
index.vue
src/views/backend/goodsDistribution/index.vue
+0
-4
index.vue
src/views/publishLongArticle/index.vue
+18
-0
index.vue
src/views/publishVideo/index.vue
+14
-11
No files found.
src/components/common/ArticleContent/index.vue
View file @
9ecaf19a
...
...
@@ -165,8 +165,13 @@
</div>
<!-- 文章内容 -->
<div
v-if=
"!isHtml"
class=
"prose prose-lg max-w-none"
>
<div
class=
"text-gray-700 leading-relaxed space-y-4 whitespace-pre-line text-17px"
>
{{
articleDetail
?.
content
}}
<div
class=
"text-gray-700 leading-relaxed space-y-1 text-17px"
>
<template
v-for=
"(line, i) in (articleDetail?.content || '').split(/\n/)"
:key=
"i"
>
<div
v-if=
"line.trim()"
class=
"indent-2em"
>
{{
line
}}
</div>
<div
v-else
class=
"h-2"
aria-hidden=
"true"
/>
</
template
>
</div>
<!-- 图片内容 -->
...
...
src/components/common/PublishBox/index.vue
View file @
9ecaf19a
...
...
@@ -233,7 +233,7 @@ const { play } = useAnimate(
},
)
const
[
form
,
resetForm
]
=
useResetData
({
const
[
form
,
,
forReset
]
=
useResetData
({
title
:
''
,
content
:
''
,
imgUrl
:
''
,
...
...
@@ -296,7 +296,10 @@ const handlePublish = async (releaseStatus: ReleaseStatusTypeEnum) => {
await
textMap
[
type
].
api
(
transformForm
(
releaseStatus
))
loading
.
value
=
false
push
.
success
(
releaseStatus
===
ReleaseStatusTypeEnum
.
PUBLISH
?
'发布成功'
:
'存草稿成功'
)
resetForm
()
// resetForm()
forReset
()
// form.value.imgUrl = ''
console
.
log
(
form
.
value
)
}
catch
(
error
)
{
console
.
error
(
error
)
}
finally
{
...
...
src/hooks/useResetData.ts
View file @
9ecaf19a
export
function
useResetData
<
T
>
(
initialValue
:
T
)
{
const
state
=
ref
(
structuredClone
(
initialValue
))
const
reset
=
()
=>
{
// state.value = structuredClone(initialValue)
// 优化 防止 出现类似toRef引用丢失问题
Object
.
assign
(
state
.
value
,
structuredClone
(
initialValue
))
state
.
value
=
structuredClone
(
initialValue
)
}
return
[
state
,
reset
]
as
[
Ref
<
T
>
,
()
=>
void
]
const
forReset
=
()
=>
{
// for循环便利 重置 避免部分属性使用到toRef引用丢失问题
for
(
const
key
in
initialValue
)
{
state
.
value
[
key
]
=
initialValue
[
key
]
}
}
return
[
state
,
reset
,
forReset
]
as
[
Ref
<
T
>
,
()
=>
void
,
()
=>
void
]
}
src/views/backend/goodsDistribution/index.vue
View file @
9ecaf19a
...
...
@@ -248,10 +248,6 @@ const columns: ExportColumn<BackendShopItemDto>[] = [
return
value
===
0
?
'待发放'
:
value
===
1
?
'已发放'
:
'已取消'
},
},
{
title
:
'发放人备注'
,
key
:
'memo'
,
},
]
// 对话框
...
...
src/views/publishLongArticle/index.vue
View file @
9ecaf19a
...
...
@@ -203,7 +203,11 @@
v-model=
"form.pushTime"
type=
"datetime"
placeholder=
"选择推送时间"
format=
"YYYY-MM-DD HH:mm"
time-format=
"HH:mm"
:disabled-date=
"(time: Date) => time.getTime()
<
Date
.
now
()
-
1000
*
60
*
60
*
24
"
:disabled-minutes=
"disabledMinutesOnlyTens"
:disabled-seconds=
"disabledSecondsOnlyZero"
value-format=
"X"
/>
</el-form-item>
...
...
@@ -258,7 +262,11 @@
v-model=
"form.pushTime"
type=
"datetime"
placeholder=
"选择推送时间"
format=
"YYYY-MM-DD HH:mm"
time-format=
"HH:mm"
:disabled-date=
"(time: Date) => time.getTime()
<
Date
.
now
()
-
1000
*
60
*
60
*
24
"
:disabled-minutes=
"disabledMinutesOnlyTens"
:disabled-seconds=
"disabledSecondsOnlyZero"
value-format=
"X"
/>
</el-form-item>
...
...
@@ -285,7 +293,11 @@
v-model=
"form.sendTime"
type=
"datetime"
placeholder=
"选择发布时间"
format=
"YYYY-MM-DD HH:mm"
time-format=
"HH:mm"
:disabled-date=
"(time: Date) => time.getTime() < Date.now() - 1000 * 60 * 60 * 24"
:disabled-minutes=
"disabledMinutesOnlyTens"
:disabled-seconds=
"disabledSecondsOnlyZero"
value-format=
"X"
/>
</el-form-item>
...
...
@@ -389,6 +401,11 @@ const [form, resetForm] = useResetData({
articleVideoUrl
:
''
,
})
// 时间选择只允许整十分(:00、:10、:20、:30、:40、:50),秒固定为 0
const
disabledSecondsOnlyZero
=
()
=>
Array
.
from
({
length
:
59
},
(
_
,
i
)
=>
i
+
1
)
const
disabledMinutesOnlyTens
=
()
=>
Array
.
from
({
length
:
60
},
(
_
,
i
)
=>
i
).
filter
((
m
)
=>
m
%
10
!==
0
)
const
rules
:
Record
<
string
,
FormItemRule
[]
>
=
{
title
:
[{
required
:
true
,
message
:
'请输入文章标题'
,
trigger
:
'blur'
}],
content
:
[{
required
:
true
,
message
:
'请输入文章内容'
,
trigger
:
'blur'
}],
...
...
@@ -615,6 +632,7 @@ onActivated(async () => {
selectedDepts
.
value
=
[]
selectedUsers
.
value
=
[]
}
else
{
form
.
value
.
isPushAll
=
BooleanFlag
.
NO
selectedDepts
.
value
=
data
.
pushList
?.
filter
((
item
)
=>
item
.
valueType
===
1
)
...
...
src/views/publishVideo/index.vue
View file @
9ecaf19a
...
...
@@ -180,11 +180,10 @@
type=
"datetime"
placeholder=
"请选择推送时间"
value-format=
"X"
:disabled-date=
"
(time: Date) =>
{
return time.getTime()
<
Date
.
now
()
-
1000
*
60
*
60
*
24
}
"
format=
"YYYY-MM-DD HH:mm"
time-format=
"HH:mm"
:disabled-minutes=
"disabledMinutesOnlyTens"
:disabled-seconds=
"disabledSecondsOnlyZero"
/>
</div>
</el-form-item>
...
...
@@ -239,11 +238,10 @@
placeholder=
"选择发布时间"
size=
"small"
value-format=
"X"
:disabled-date=
"
(time: Date) => {
return time.getTime() < Date.now() - 1000 * 60 * 60 * 24
}
"
format=
"YYYY-MM-DD HH:mm"
time-format=
"HH:mm"
:disabled-minutes=
"disabledMinutesOnlyTens"
:disabled-seconds=
"disabledSecondsOnlyZero"
style=
"width: 250px"
/>
<el-switch
...
...
@@ -413,6 +411,11 @@ const [form, resetData] = useResetData({
summary
:
''
,
})
// 时间选择只允许整十分(:00、:10、:20、:30、:40、:50),秒固定为 0
const
disabledSecondsOnlyZero
=
()
=>
Array
.
from
({
length
:
59
},
(
_
,
i
)
=>
i
+
1
)
const
disabledMinutesOnlyTens
=
()
=>
Array
.
from
({
length
:
60
},
(
_
,
i
)
=>
i
).
filter
((
m
)
=>
m
%
10
!==
0
)
const
selectedDepts
=
ref
<
{
id
:
string
;
name
:
string
}[]
>
([])
const
selectedUsers
=
ref
<
{
id
:
string
;
name
:
string
}[]
>
([])
const
selectedText
=
computed
(()
=>
{
...
...
@@ -592,7 +595,7 @@ const handleSubmit = async (releaseStatus: ReleaseStatusTypeEnum) => {
await
formRef
.
value
?.
validate
()
loading
.
value
=
true
try
{
addOrUpdateArticle
(
tansformData
(
releaseStatus
))
a
wait
a
ddOrUpdateArticle
(
tansformData
(
releaseStatus
))
push
.
success
(
releaseStatus
===
ReleaseStatusTypeEnum
.
PUBLISH
?
'发布成功'
:
'存草稿成功'
)
resetPageData
()
router
.
push
(
'/'
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment