Commit 4921139c by lijiabin

【需求 17679】 fix: 优化时间显示,草稿箱等

parent 883f32cb
...@@ -95,8 +95,9 @@ const widthRate = computed(() => { ...@@ -95,8 +95,9 @@ const widthRate = computed(() => {
}) })
// 在线时长格式化 将秒级 格式化为 00:00 // 在线时长格式化 将秒级 格式化为 00:00
// 如果大于一个小时的话,则显示小时:分钟:秒
const formatSeconds = computed(() => { const formatSeconds = computed(() => {
if (currentSeconds.value >= maxSeconds) { if (currentSeconds.value >= 60 * 60) {
return dayjs.utc(currentSeconds.value * 1000).format('hh:mm:ss') return dayjs.utc(currentSeconds.value * 1000).format('hh:mm:ss')
} else { } else {
return dayjs.utc(currentSeconds.value * 1000).format('mm:ss') return dayjs.utc(currentSeconds.value * 1000).format('mm:ss')
......
...@@ -306,7 +306,17 @@ const rules = { ...@@ -306,7 +306,17 @@ const rules = {
faceUrl: [{ required: true, message: '请上传封面图', trigger: 'blur' }], faceUrl: [{ required: true, message: '请上传封面图', trigger: 'blur' }],
imgUrl: [{ required: true, message: '请上传内容图片', trigger: 'blur' }], imgUrl: [{ required: true, message: '请上传内容图片', trigger: 'blur' }],
sendType: [{ required: true, message: '请选择发布类型', trigger: 'blur' }], sendType: [{ required: true, message: '请选择发布类型', trigger: 'blur' }],
sendTime: [{ required: true, message: '请选择发布时间', trigger: 'trigger' }], sendTime: [
{ required: true, message: '请选择发布时间', trigger: 'trigger' },
{
validator: (rule, value, callback) => {
if (form.value.sendType === SendTypeEnum.SCHEDULED && !value) {
callback(new Error('请选择发布时间'))
}
},
trigger: 'trigger',
},
],
releaseStatus: [{ required: true, message: '请选择发布状态', trigger: 'blur' }], releaseStatus: [{ required: true, message: '请选择发布状态', trigger: 'blur' }],
mainTagId: [{ required: true, message: '请选择主标签', trigger: 'blur' }], mainTagId: [{ required: true, message: '请选择主标签', trigger: 'blur' }],
isRecommend: [{ required: true, message: '是否推荐', trigger: 'trigger' }], isRecommend: [{ required: true, message: '是否推荐', trigger: 'trigger' }],
...@@ -411,6 +421,7 @@ const handleClosed = () => { ...@@ -411,6 +421,7 @@ const handleClosed = () => {
// 提交表单 // 提交表单
const handleSubmit = async (releaseStatus: ReleaseStatusTypeEnum) => { const handleSubmit = async (releaseStatus: ReleaseStatusTypeEnum) => {
try { try {
console.log(form.value, 'form.value')
await formRef.value?.validate() await formRef.value?.validate()
loading.value = true loading.value = true
const res = const res =
...@@ -437,7 +448,7 @@ onActivated(async () => { ...@@ -437,7 +448,7 @@ onActivated(async () => {
await nextTick() await nextTick()
if (isEdit.value) { if (isEdit.value) {
console.log(route.query.id, '编辑') console.log(route.query.id, '编辑 或者 草稿箱')
// 要编辑回显 // 要编辑回显
const { data } = await getArticleDetail(route.query.id) const { data } = await getArticleDetail(route.query.id)
// 首先回显基础的信息 // 首先回显基础的信息
...@@ -469,7 +480,7 @@ onActivated(async () => { ...@@ -469,7 +480,7 @@ onActivated(async () => {
} }
// 回显主副标签 // 回显主副标签
form.value.mainTagId = tagIdList[0] || '' form.value.mainTagId = String(tagIdList[0]) || ''
form.value.tagList = tagIdList.slice(1) || [] form.value.tagList = tagIdList.slice(1) || []
const { imgUrl, faceUrl } = data const { imgUrl, faceUrl } = data
......
...@@ -50,8 +50,8 @@ ...@@ -50,8 +50,8 @@
<!-- Meta Info --> <!-- Meta Info -->
<div class="flex items-center text-gray-400 text-sm ml-4"> <div class="flex items-center text-gray-400 text-sm ml-4">
<el-button type="primary" link>编辑</el-button> <el-button type="primary" link @click="handleEdit(item)">编辑</el-button>
<el-button type="danger" link>删除</el-button> <el-button type="danger" link @click="handleDelete(item)">删除</el-button>
</div> </div>
</div> </div>
</div> </div>
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
<script lang="ts" setup> <script lang="ts" setup>
import { Document, Refresh } from '@element-plus/icons-vue' import { Document, Refresh } from '@element-plus/icons-vue'
import { getSelfDraftList } from '@/api' import { deleteArticle, getSelfDraftList } from '@/api'
import { usePageSearch } from '@/hooks' import { usePageSearch } from '@/hooks'
import { import {
articleTypeListOptionsForReal, articleTypeListOptionsForReal,
...@@ -91,6 +91,8 @@ import { ArticleTypeEnum } from '@/constants/enums' ...@@ -91,6 +91,8 @@ import { ArticleTypeEnum } from '@/constants/enums'
import type { TabPaneName } from 'element-plus' import type { TabPaneName } from 'element-plus'
import { IS_REAL_KEY } from '@/constants/symbolKey' import { IS_REAL_KEY } from '@/constants/symbolKey'
const router = useRouter()
const isReal = inject(IS_REAL_KEY) const isReal = inject(IS_REAL_KEY)
const filterArticleType = computed(() => { const filterArticleType = computed(() => {
...@@ -114,6 +116,26 @@ const { list, loading, searchParams, total, refresh, goToPage, changePageSize } ...@@ -114,6 +116,26 @@ const { list, loading, searchParams, total, refresh, goToPage, changePageSize }
}, },
) )
const handleEdit = (item: any) => {
if (item.type === ArticleTypeEnum.VIDEO) {
// router.push(`/publishVideo/${item.id}`)
ElMessage.warning('视频编辑功能暂未开放')
} else {
router.push(`/publishLongArticle/${item.type}?id=${item.id}`)
}
}
const handleDelete = async (item: any) => {
await ElMessageBox.confirm('确定删除该草稿吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
await deleteArticle(item.id)
refresh()
ElMessage.success('删除成功')
}
onActivated(() => { onActivated(() => {
searchParams.value.type = filterArticleType.value[0]!.value searchParams.value.type = filterArticleType.value[0]!.value
refresh() refresh()
......
...@@ -53,11 +53,8 @@ ...@@ -53,11 +53,8 @@
@click="jumpToArticleDetailPage({ type: item.type, id: item.id })" @click="jumpToArticleDetailPage({ type: item.type, id: item.id })"
>查看</el-button >查看</el-button
> >
<el-button <!-- v-if="item.type !== ArticleTypeEnum.VIDEO" -->
v-if="item.type !== ArticleTypeEnum.VIDEO" <el-button type="primary" link @click="jumpToEditPage({ type: item.type, id: item.id })"
type="primary"
link
@click="jumpToEditPage({ type: item.type, id: item.id })"
>编辑</el-button >编辑</el-button
> >
<el-button type="danger" link @click="handleDelete(item.id)">删除</el-button> <el-button type="danger" link @click="handleDelete(item.id)">删除</el-button>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment