|
@@ -49,14 +49,18 @@
|
|
|
|
|
|
|
|
<script setup lang="tsx">
|
|
<script setup lang="tsx">
|
|
|
import { h } from 'vue'
|
|
import { h } from 'vue'
|
|
|
|
|
+import { useRouter } from 'vue-router'
|
|
|
import { NButton, NDataTable, NForm, NNumberAnimation, NEllipsis } from 'naive-ui'
|
|
import { NButton, NDataTable, NForm, NNumberAnimation, NEllipsis } from 'naive-ui'
|
|
|
import type { DataTableColumns, PaginationProps, DropdownProps } from 'naive-ui'
|
|
import type { DataTableColumns, PaginationProps, DropdownProps } from 'naive-ui'
|
|
|
import ModalData from './ModalData.vue'
|
|
import ModalData from './ModalData.vue'
|
|
|
import type { AnalysisConfig, AnalysisItemInfo } from '@/service/sitesAnalysis/interface'
|
|
import type { AnalysisConfig, AnalysisItemInfo } from '@/service/sitesAnalysis/interface'
|
|
|
|
|
+import { getManageList, createManageConfig, updateManageConfig, deleteManageConfig } from '@/service/sitesAnalysis'
|
|
|
|
|
|
|
|
import { useDataTable } from '@/composable/comp/useDataTable'
|
|
import { useDataTable } from '@/composable/comp/useDataTable'
|
|
|
import { useResettableReactive } from '@/composable/useResettable'
|
|
import { useResettableReactive } from '@/composable/useResettable'
|
|
|
|
|
|
|
|
|
|
+const router = useRouter()
|
|
|
|
|
+
|
|
|
const formRef = useTemplateRef<InstanceType<typeof NForm>>('formRef')
|
|
const formRef = useTemplateRef<InstanceType<typeof NForm>>('formRef')
|
|
|
const dataTableRef = useTemplateRef<InstanceType<typeof NDataTable>>('dataTableRef')
|
|
const dataTableRef = useTemplateRef<InstanceType<typeof NDataTable>>('dataTableRef')
|
|
|
const { maxHeight } = useDataTable(dataTableRef)
|
|
const { maxHeight } = useDataTable(dataTableRef)
|
|
@@ -144,15 +148,13 @@ const dropdownOptions = reactive<DropdownProps>({
|
|
|
|
|
|
|
|
const createOrEditAnalysis = (id?: string) => {
|
|
const createOrEditAnalysis = (id?: string) => {
|
|
|
const title = id === undefined ? '新增监控' : '编辑编辑'
|
|
const title = id === undefined ? '新增监控' : '编辑编辑'
|
|
|
- const isNew = id === undefined
|
|
|
|
|
-
|
|
|
|
|
- const handleSubmitClick = () => {
|
|
|
|
|
- // 重新查询数据
|
|
|
|
|
- handleListQuery()
|
|
|
|
|
|
|
|
|
|
- if (isNew) {
|
|
|
|
|
|
|
+ const handleSubmitClick = async (data: AnalysisConfig) => {
|
|
|
|
|
+ if (id === undefined) {
|
|
|
|
|
+ await createSiteAnalysisConfig(data)
|
|
|
message.success('创建成功')
|
|
message.success('创建成功')
|
|
|
} else {
|
|
} else {
|
|
|
|
|
+ await updateSiteAnalysisConfig(id, data)
|
|
|
message.success('更新成功')
|
|
message.success('更新成功')
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -277,13 +279,14 @@ function rowProps(row: AnalysisItemInfo) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-const tableData = ref<AnalysisItemInfo[]>(Array.from({ length: 46 }).map((_, index) => ({
|
|
|
|
|
- id: String(index),
|
|
|
|
|
- sn: `Edward King ${index}`,
|
|
|
|
|
- description: "",
|
|
|
|
|
- item: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
|
|
|
|
|
- progress: 'pending',
|
|
|
|
|
-})))
|
|
|
|
|
|
|
+const tableData = ref<AnalysisItemInfo[]>([])
|
|
|
|
|
+// const tableData = ref<AnalysisItemInfo[]>(Array.from({ length: 46 }).map((_, index) => ({
|
|
|
|
|
+// id: String(index),
|
|
|
|
|
+// sn: `Edward King ${index}`,
|
|
|
|
|
+// description: "",
|
|
|
|
|
+// item: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
|
|
|
|
|
+// progress: 'pending',
|
|
|
|
|
+// })))
|
|
|
const tableColumns = createColumns()
|
|
const tableColumns = createColumns()
|
|
|
const tablePagination = reactive<PaginationProps>({
|
|
const tablePagination = reactive<PaginationProps>({
|
|
|
page: 1,
|
|
page: 1,
|
|
@@ -305,7 +308,9 @@ const tablePagination = reactive<PaginationProps>({
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
const itemView = (id: string) => {
|
|
const itemView = (id: string) => {
|
|
|
-
|
|
|
|
|
|
|
+ router.push({
|
|
|
|
|
+ path: `/sites-analysis/${id}`
|
|
|
|
|
+ })
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const itemEdit = (id: string) => {
|
|
const itemEdit = (id: string) => {
|
|
@@ -313,7 +318,7 @@ const itemEdit = (id: string) => {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const itemDelete = (id: string) => {
|
|
const itemDelete = (id: string) => {
|
|
|
-
|
|
|
|
|
|
|
+ deleteSiteFromList(id)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
interface AnalysisListFilter {
|
|
interface AnalysisListFilter {
|
|
@@ -321,16 +326,24 @@ interface AnalysisListFilter {
|
|
|
progress?: 'pending' | 'running' | 'error' | 'complete'
|
|
progress?: 'pending' | 'running' | 'error' | 'complete'
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-const querySitesAnalysisList = (pageSize: number, pageNum: number, filter?: AnalysisListFilter) => {
|
|
|
|
|
-
|
|
|
|
|
|
|
+const querySitesAnalysisList = async (pageSize: number, pageNum: number, filter?: AnalysisListFilter) => {
|
|
|
|
|
+ const res = await getManageList(pageSize, pageNum, filter)
|
|
|
|
|
+ tableData.value = res.data
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-const updateSiteAnalysisConfig = (data: AnalysisConfig) => {
|
|
|
|
|
-
|
|
|
|
|
|
|
+const createSiteAnalysisConfig = async (data: AnalysisConfig) => {
|
|
|
|
|
+ await createManageConfig(data)
|
|
|
|
|
+ handleListQuery()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-const deleteSiteFromList = (id: number) => {
|
|
|
|
|
|
|
+const updateSiteAnalysisConfig = async (id: string, data: AnalysisConfig) => {
|
|
|
|
|
+ await updateManageConfig(id, data)
|
|
|
|
|
+ handleListQuery()
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
|
|
+const deleteSiteFromList = async (id: string) => {
|
|
|
|
|
+ await deleteManageConfig(id)
|
|
|
|
|
+ handleListQuery()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const handleListQuery = () => {
|
|
const handleListQuery = () => {
|