feat: 会议批量审核 + 公示按发布时间倒序 + 现场照片 dialog 预览 + 重复报错精确
- 会议列表 manager 批量合规审核 (批量通过/退回, best-effort 逐条回执) - 公示列表按 publish_time 倒序, 发布/开通写本地 publish_time (修 toISOString UTC 时区 bug) - 签到表/前全景/后全景「查看照片」改 dialog 预览 (复用 Preview.vue) - 手机号/用户名重复报错精确提示 (后端 fieldMap + 前端 duplicateTip) - 医生首页欢迎语改「欢迎使用合规系统」
This commit is contained in:
@@ -241,6 +241,12 @@ const detail = ref({})
|
||||
const detailOpen = ref(false)
|
||||
|
||||
function formatMoney(v) { return Number(v || 0).toFixed(2) }
|
||||
// 当前本地时间 "yyyy-MM-dd HH:mm:ss" (发布用, 与后端 GMT+8 一致; 不能用 toISOString 的 UTC)
|
||||
function nowLocalDatetime() {
|
||||
const d = new Date()
|
||||
const p = n => String(n).padStart(2, '0')
|
||||
return `${d.getFullYear()}-${p(d.getMonth() + 1)}-${p(d.getDate())} ${p(d.getHours())}:${p(d.getMinutes())}:${p(d.getSeconds())}`
|
||||
}
|
||||
|
||||
async function load() {
|
||||
loading.value = true
|
||||
@@ -387,7 +393,7 @@ async function onBatchOpen() {
|
||||
try { await ElMessageBox.confirm(`确定对选中的 ${selected.value.length} 个项目批量开通吗?`, '批量开通', { type: 'warning' }) } catch { return }
|
||||
let ok = 0
|
||||
for (const r of selected.value) {
|
||||
try { await bizUpdate('project', { projectId: r.projectId, isPublished: '1' }); ok++ } catch {}
|
||||
try { await bizUpdate('project', { projectId: r.projectId, isPublished: '1', publishTime: nowLocalDatetime() }); ok++ } catch {}
|
||||
}
|
||||
ElMessage.success(`已批量开通 ${ok} 项`)
|
||||
load()
|
||||
@@ -405,7 +411,7 @@ async function onFinish(row) {
|
||||
async function onOpen(row) {
|
||||
try { await ElMessageBox.confirm(`确定开通「${row.projectName}」吗?`, '开通', { type: 'warning' }) } catch { return }
|
||||
try {
|
||||
await bizUpdate('project', { projectId: row.projectId, isPublished: '1' })
|
||||
await bizUpdate('project', { projectId: row.projectId, isPublished: '1', publishTime: nowLocalDatetime() })
|
||||
ElMessage.success('已开通')
|
||||
load()
|
||||
} catch (e) { ElMessage.error(e?.msg || '操作失败') }
|
||||
|
||||
Reference in New Issue
Block a user