Commit 4921139c by lijiabin

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

parent 883f32cb
......@@ -95,8 +95,9 @@ const widthRate = computed(() => {
})
// 在线时长格式化 将秒级 格式化为 00:00
// 如果大于一个小时的话,则显示小时:分钟:秒
const formatSeconds = computed(() => {
if (currentSeconds.value >= maxSeconds) {
if (currentSeconds.value >= 60 * 60) {
return dayjs.utc(currentSeconds.value * 1000).format('hh:mm:ss')
} else {
return dayjs.utc(currentSeconds.value * 1000).format('mm:ss')
......
......@@ -306,7 +306,17 @@ const rules = {
faceUrl: [{ required: true, message: '请上传封面图', trigger: 'blur' }],
imgUrl: [{ 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' }],
mainTagId: [{ required: true, message: '请选择主标签', trigger: 'blur' }],
isRecommend: [{ required: true, message: '是否推荐', trigger: 'trigger' }],
......@@ -411,6 +421,7 @@ const handleClosed = () => {
// 提交表单
const handleSubmit = async (releaseStatus: ReleaseStatusTypeEnum) => {
try {
console.log(form.value, 'form.value')
await formRef.value?.validate()
loading.value = true
const res =
......@@ -437,7 +448,7 @@ onActivated(async () => {
await nextTick()
if (isEdit.value) {
console.log(route.query.id, '编辑')
console.log(route.query.id, '编辑 或者 草稿箱')
// 要编辑回显
const { data } = await getArticleDetail(route.query.id)
// 首先回显基础的信息
......@@ -469,7 +480,7 @@ onActivated(async () => {
}
// 回显主副标签
form.value.mainTagId = tagIdList[0] || ''
form.value.mainTagId = String(tagIdList[0]) || ''
form.value.tagList = tagIdList.slice(1) || []
const { imgUrl, faceUrl } = data
......
......@@ -50,8 +50,8 @@
<!-- Meta Info -->
<div class="flex items-center text-gray-400 text-sm ml-4">
<el-button type="primary" link>编辑</el-button>
<el-button type="danger" link>删除</el-button>
<el-button type="primary" link @click="handleEdit(item)">编辑</el-button>
<el-button type="danger" link @click="handleDelete(item)">删除</el-button>
</div>
</div>
</div>
......@@ -80,7 +80,7 @@
<script lang="ts" setup>
import { Document, Refresh } from '@element-plus/icons-vue'
import { getSelfDraftList } from '@/api'
import { deleteArticle, getSelfDraftList } from '@/api'
import { usePageSearch } from '@/hooks'
import {
articleTypeListOptionsForReal,
......@@ -91,6 +91,8 @@ import { ArticleTypeEnum } from '@/constants/enums'
import type { TabPaneName } from 'element-plus'
import { IS_REAL_KEY } from '@/constants/symbolKey'
const router = useRouter()
const isReal = inject(IS_REAL_KEY)
const filterArticleType = computed(() => {
......@@ -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(() => {
searchParams.value.type = filterArticleType.value[0]!.value
refresh()
......
......@@ -53,11 +53,8 @@
@click="jumpToArticleDetailPage({ type: item.type, id: item.id })"
>查看</el-button
>
<el-button
v-if="item.type !== ArticleTypeEnum.VIDEO"
type="primary"
link
@click="jumpToEditPage({ type: item.type, id: item.id })"
<!-- v-if="item.type !== ArticleTypeEnum.VIDEO" -->
<el-button type="primary" link @click="jumpToEditPage({ type: item.type, id: 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