diff --git a/src/views/report/dashboardList/index.vue b/src/views/report/dashboardList/index.vue
index b97115e6..c23a02ce 100644
--- a/src/views/report/dashboardList/index.vue
+++ b/src/views/report/dashboardList/index.vue
@@ -69,7 +69,7 @@
class="mb-16px"
>
-
+
-
- 预览
-
+
+
+
+
+
+
+
+
@@ -107,7 +119,11 @@
-
+
@@ -142,7 +158,7 @@
取 消
-
+
确 定
@@ -157,6 +173,7 @@ import defaultImage from '@/assets/imgs/logo.png'
defineOptions({ name: 'DashboardList' })
const { push } = useRouter()
+const message = useMessage()
interface DashboardItem {
id: number
@@ -165,6 +182,7 @@ interface DashboardItem {
state: string
indexImage?: string
route?: string
+ content?: string
}
const loading = ref(false)
@@ -184,6 +202,8 @@ const queryFormRef = ref()
const createDialogVisible = ref(false)
const createLoading = ref(false)
const createFormRef = ref()
+const dialogMode = ref<'create' | 'edit'>('create')
+const editingId = ref(null)
const createForm = reactive({
name: '',
remark: '',
@@ -219,7 +239,7 @@ const resetQuery = () => {
const handlePreview = (item: DashboardItem) => {
if (!item.route) {
- useMessage().error('未配置预览路由')
+ message.error('未配置预览路由')
return
}
const path = item.route.startsWith('/') ? item.route : `/${item.route}`
@@ -236,22 +256,51 @@ const resetCreateForm = () => {
}
const openCreateDialog = () => {
+ dialogMode.value = 'create'
+ editingId.value = null
resetCreateForm()
createDialogVisible.value = true
}
-const submitCreate = async () => {
+const openEditDialog = (item: DashboardItem) => {
+ dialogMode.value = 'edit'
+ editingId.value = item.id
+ createForm.name = item.name || ''
+ createForm.remark = item.remark || ''
+ createForm.state = item.state || ''
+ createForm.indexImage = item.indexImage || ''
+ createForm.route = item.route || ''
+ createForm.content = item.content || ''
+ createDialogVisible.value = true
+}
+
+const submitDialog = async () => {
if (!createForm.name) {
- useMessage().error('名称不能为空')
+ message.error('名称不能为空')
+ return
+ }
+ if (dialogMode.value === 'edit' && !editingId.value) {
+ message.error('缺少数据编号,无法编辑')
return
}
createLoading.value = true
try {
- await request.post({
- url: '/mes/goview/create',
- data: createForm
- })
- useMessage().success('新增成功')
+ if (dialogMode.value === 'create') {
+ await request.post({
+ url: '/mes/goview/create',
+ data: createForm
+ })
+ message.success('新增成功')
+ } else {
+ await request.put({
+ url: '/mes/goview/update',
+ data: {
+ id: editingId.value,
+ ...createForm
+ }
+ })
+ message.success('编辑成功')
+ }
createDialogVisible.value = false
handleQuery()
} finally {
@@ -259,6 +308,18 @@ const submitCreate = async () => {
}
}
+const handleDelete = async (item: DashboardItem) => {
+ if (!item.id) return
+ try {
+ await message.delConfirm()
+ await request.delete({
+ url: `/mes/goview/delete?id=${item.id}`
+ })
+ message.success('删除成功')
+ await getList()
+ } catch {}
+}
+
onMounted(() => {
getList()
})
@@ -279,6 +340,7 @@ onMounted(() => {
width: 100%;
padding-top: 56.25%;
overflow: hidden;
+ cursor: pointer;
}
.dashboard-card-image {