接口调试

This commit is contained in:
BianLzhaoMin 2025-07-28 18:08:42 +08:00
parent ad5ede8854
commit 7b7adb79f3
5 changed files with 661 additions and 1660 deletions

View File

@ -39,6 +39,7 @@ export function addModel(data) {
data, data,
}) })
} }
// // 修改层级 // // 修改层级
// export function editLevelApi(data) { // export function editLevelApi(data) {
// return request({ // return request({

View File

@ -42,3 +42,11 @@ export function delProject(proId) {
method: 'delete', method: 'delete',
}) })
} }
// 查询所有的项目下拉选
export function getProjectSelectListApi() {
return request({
url: '/project/SelectList',
method: 'get',
})
}

View File

@ -6,16 +6,16 @@ export function login(username, password, code, uuid) {
username, username,
password, password,
code, code,
uuid uuid,
} }
return request({ return request({
url: '/login', url: '/login',
headers: { headers: {
isToken: false, isToken: false,
repeatSubmit: false repeatSubmit: false,
}, },
method: 'post', method: 'post',
data: data data: data,
}) })
} }
@ -24,10 +24,10 @@ export function register(data) {
return request({ return request({
url: '/register', url: '/register',
headers: { headers: {
isToken: false isToken: false,
}, },
method: 'post', method: 'post',
data: data data: data,
}) })
} }
@ -35,7 +35,7 @@ export function register(data) {
export function getInfo() { export function getInfo() {
return request({ return request({
url: '/getInfo', url: '/getInfo',
method: 'get' method: 'get',
}) })
} }
@ -43,7 +43,7 @@ export function getInfo() {
export function logout() { export function logout() {
return request({ return request({
url: '/logout', url: '/logout',
method: 'post' method: 'post',
}) })
} }
@ -52,9 +52,9 @@ export function getCodeImg() {
return request({ return request({
url: '/captchaImage', url: '/captchaImage',
headers: { headers: {
isToken: false isToken: false,
}, },
method: 'get', method: 'get',
timeout: 20000 timeout: 20000,
}) })
} }

View File

@ -1,13 +1,17 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form size="small" :inline="true" ref="queryForm" :model="queryParams"> <el-form size="small" :inline="true" ref="queryForm" :model="queryParams">
<el-form-item label="项目名称" prop="proName"> <el-form-item label="项目名称" prop="projectId">
<el-input <!-- <el-input
clearable clearable
placeholder="请输入项目名称" placeholder="请输入项目名称"
v-model="queryParams.proName" v-model="queryParams.proName"
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> /> -->
<el-select v-model="queryParams.projectId" placeholder="请选择项目名称" style="width: 100%">
<el-option :key="item.id" :value="item.id" :label="item.name" v-for="item in projectSelectList" />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="所属单位" prop="unit"> <el-form-item label="所属单位" prop="unit">
<el-input <el-input
@ -31,18 +35,12 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <!-- <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getModelList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getModelList"></right-toolbar>
</el-row> </el-row> -->
<el-table <el-table
border border
@ -50,6 +48,7 @@
v-loading="loading" v-loading="loading"
:data="modelList" :data="modelList"
:tree-props="{ children: 'nodes' }" :tree-props="{ children: 'nodes' }"
default-expand-all
> >
<el-table-column label="序号" align="center" type="index" /> <el-table-column label="序号" align="center" type="index" />
@ -158,12 +157,7 @@
<el-dialog width="40%" append-to-body :title="addOrEditFormTitle" :visible.sync="addOrEditFormVisible"> <el-dialog width="40%" append-to-body :title="addOrEditFormTitle" :visible.sync="addOrEditFormVisible">
<AddOrEditForm ref="addOrEditComponentRef" @closeAddOrEditFormDialog="closeAddOrEditFormDialog" /> <AddOrEditForm ref="addOrEditComponentRef" @closeAddOrEditFormDialog="closeAddOrEditFormDialog" />
</el-dialog> </el-dialog>
<el-dialog <el-dialog title="模型预览" :visible.sync="viewDialogVisible" width="60%" append-to-body>
title="模型预览"
:visible.sync="viewDialogVisible"
width="60%"
append-to-body
>
<dxf-viewer :entities="dxfPreviewUrl"></dxf-viewer> <dxf-viewer :entities="dxfPreviewUrl"></dxf-viewer>
</el-dialog> </el-dialog>
</div> </div>
@ -176,18 +170,24 @@ import UseRecordTable from './useRecordTable.vue'
import DxfViewer from './DxfViewer.vue' import DxfViewer from './DxfViewer.vue'
// API // API
import { getModelListApi, delModelApi,openView } from '@/api/basic/model' import { getModelListApi, delModelApi, openView } from '@/api/basic/model'
import { listProject, getProject, delProject, addProject, updateProject } from '@/api/basic/project' import {
listProject,
getProject,
delProject,
addProject,
updateProject,
getProjectSelectListApi,
} from '@/api/basic/project'
import { getLevelListApi } from '@/api/basic/level-manage.js' import { getLevelListApi } from '@/api/basic/level-manage.js'
export default { export default {
name: 'DeviceManage', name: 'DeviceManage',
components: { components: {
AddOrEditForm, AddOrEditForm,
UseOrReturnForm, UseOrReturnForm,
UseRecordTable, UseRecordTable,
DxfViewer DxfViewer,
}, },
data() { data() {
@ -228,15 +228,44 @@ export default {
queryParams: { queryParams: {
// pageNum: 1, // API // pageNum: 1, // API
// pageSize: 10, // API // pageSize: 10, // API
proName: undefined, projectId: undefined,
unit: undefined, unit: undefined,
chargePerson: undefined, chargePerson: undefined,
}, },
projectSelectList: [],
list: [
{
label: '项目1',
id: 1,
level: 1,
count: 2,
children: [
// {
// label: '1',
// id: 1,
// level: 2,
// },
],
},
{
label: '项目2',
id: 2,
level: 1,
count: 3,
children: [
{
label: '节点1',
id: 1,
level: 2,
},
],
},
],
} }
}, },
created() { created() {
this.getModelList()
this.getLevelList() // this.getLevelList() //
this.getProjectSelectList()
}, },
methods: { methods: {
/** 获取层级配置列表 */ /** 获取层级配置列表 */
@ -248,7 +277,7 @@ export default {
}) })
this.levelList = res.rows this.levelList = res.rows
} catch (error) { } catch (error) {
console.error("获取层级配置失败:", error) console.error('获取层级配置失败:', error)
} }
}, },
// //
@ -264,14 +293,15 @@ export default {
this.$modal.msgWarning('模型地址无效或不是DXF文件') this.$modal.msgWarning('模型地址无效或不是DXF文件')
return return
} */ } */
/* 新需求 重新做 上面建议不要删除 有需要直接可以查看 */ /* 新需求 重新做 上面建议不要删除 有需要直接可以查看 */
openView({ id: row.id }).then(response => { openView({ id: row.id })
.then((response) => {
this.dxfPreviewUrl = response.data this.dxfPreviewUrl = response.data
this.viewDialogVisible = true this.viewDialogVisible = true
}).catch(error => { })
console.error("获取项目详情失败:", error); .catch((error) => {
}); console.error('获取项目详情失败:', error)
})
}, },
// //
@ -295,8 +325,8 @@ export default {
// //
handleAddChild(row) { handleAddChild(row) {
const { id, proName, nodeName, level, nodeCount, projectId } = row; const { id, proName, nodeName, level, nodeCount, projectId } = row
const name = nodeName || proName; // nodeName proName const name = nodeName || proName // nodeName proName
this.addOrEditFormTitle = '新增' this.addOrEditFormTitle = '新增'
this.editForm = null this.editForm = null
@ -311,9 +341,9 @@ export default {
// //
// UUID nodeId // UUID nodeId
generateUUID() { generateUUID() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
const r = Math.random() * 16 | 0 const r = (Math.random() * 16) | 0
const v = c === 'x' ? r : (r & 0x3 | 0x8) const v = c === 'x' ? r : (r & 0x3) | 0x8
return v.toString(16) return v.toString(16)
}) })
}, },
@ -322,38 +352,40 @@ export default {
// - // -
// - // -
getModelList() { getModelList() {
this.loading = true; this.loading = true
getModelListApi(this.queryParams).then((response) => { getModelListApi(this.queryParams)
const rawList = response.rows || []; .then((response) => {
const rawList = response.rows || []
// //
const formatNodes = (nodes, level = 2) => { // const formatNodes = (nodes, level = 2) => {
if (!Array.isArray(nodes)) return []; //
if (!Array.isArray(nodes)) return []
return nodes return nodes
.filter(item => item && item.nodeId) // .filter((item) => item && item.nodeId) //
.map(item => ({ .map((item) => ({
...item, ...item,
id: item.nodeId, id: item.nodeId,
name: item.nodeName || '未命名节点', name: item.nodeName || '未命名节点',
level: level, // level: level, //
// +1 // +1
nodes: formatNodes(item.nodes || item.children || [], level + 1) nodes: formatNodes(item.nodes || item.children || [], level + 1),
})); }))
}; }
// //
const formatted = rawList.map(project => { const formatted = rawList.map((project) => {
const children = project.children || []; const children = project.children || []
// //
let levelName = ''; let levelName = ''
let nodeCount = ''; let nodeCount = ''
if (this.levelList && this.levelList.length > 0) { if (this.levelList && this.levelList.length > 0) {
const levelConfig = this.levelList.find( const levelConfig = this.levelList.find(
item => item.configId == project.level // (item) => item.configId == project.level, //
); )
levelName = levelConfig ? levelConfig.configName : ''; levelName = levelConfig ? levelConfig.configName : ''
} }
return { return {
@ -364,19 +396,19 @@ export default {
levelName: project.levelName, // levelName: project.levelName, //
nodes: formatNodes(children), nodes: formatNodes(children),
rawData: project, rawData: project,
nodeCount:project.nodeCount nodeCount: project.nodeCount,
}; }
}); })
this.modelList = formatted; this.modelList = formatted
this.total = response.total; this.total = response.total
this.loading = false; this.loading = false
})
}).catch(error => { .catch((error) => {
console.error("获取模型列表失败:", error); console.error('获取模型列表失败:', error)
this.loading = false; this.loading = false
this.$message.error("模型数据加载失败,请重试"); this.$message.error('模型数据加载失败,请重试')
}); })
}, },
// //
handleUploadModel(row) { handleUploadModel(row) {
@ -385,7 +417,10 @@ export default {
this.useOrReturnFormVisible = true this.useOrReturnFormVisible = true
// resetForm () // resetForm ()
// useOrReturnFormComponentRef resetForm // useOrReturnFormComponentRef resetForm
if (this.$refs.useOrReturnFormComponentRef && typeof this.$refs.useOrReturnFormComponentRef.resetForm === 'function') { if (
this.$refs.useOrReturnFormComponentRef &&
typeof this.$refs.useOrReturnFormComponentRef.resetForm === 'function'
) {
this.$refs.useOrReturnFormComponentRef.resetForm() this.$refs.useOrReturnFormComponentRef.resetForm()
} }
}) })
@ -415,38 +450,44 @@ export default {
/** 修改按钮操作 (使用新的弹窗) */ /** 修改按钮操作 (使用新的弹窗) */
handleUpdate(row) { handleUpdate(row) {
this.reset(); this.reset()
const proId = row.id; // id projectId const proId = row.id // id projectId
getProject(proId).then(response => { getProject(proId)
this.form = response.data; .then((response) => {
this.open = true; this.form = response.data
this.title = '修改项目'; this.open = true
this.title = '修改项目'
// form.level // form.level
// response.data.level configId // response.data.level configId
// this.form.level = response.data.level; // this.form.level = response.data.level;
}).catch(error => { })
console.error("获取项目详情失败:", error); .catch((error) => {
}); console.error('获取项目详情失败:', error)
})
}, },
// //
handleDelete(row) { handleDelete(row) {
this.$modal.confirm('是否确认删除当前节点数据吗?').then(async () => { this.$modal
.confirm('是否确认删除当前节点数据吗?')
.then(async () => {
// row.level // row.level
let res; let res
if (row.level === 1) { // level 1 if (row.level === 1) {
res = await delProject(row.id); // 使 delProject API // level 1
res = await delProject(row.id) // 使 delProject API
} else { } else {
res = await delModelApi({ id: row.id }); // 使 delModelApi res = await delModelApi({ id: row.id }) // 使 delModelApi
} }
if (res.code === 200) { if (res.code === 200) {
this.$modal.msgSuccess('删除成功') this.$modal.msgSuccess('删除成功')
this.getModelList() this.getModelList()
} else { } else {
this.$modal.msgError(res.msg || '删除失败'); this.$modal.msgError(res.msg || '删除失败')
} }
}).catch(() => { })
.catch(() => {
// //
}) })
}, },
@ -496,25 +537,42 @@ export default {
this.$refs['form'].validate((valid) => { this.$refs['form'].validate((valid) => {
if (valid) { if (valid) {
if (this.form.proId != undefined) { if (this.form.proId != undefined) {
updateProject(this.form).then((response) => { updateProject(this.form)
.then((response) => {
this.$modal.msgSuccess('修改成功') this.$modal.msgSuccess('修改成功')
this.open = false this.open = false
this.getModelList() // this.getModelList() //
}).catch(error => { })
console.error("修改项目失败:", error); .catch((error) => {
}); console.error('修改项目失败:', error)
})
} else { } else {
addProject(this.form).then((response) => { addProject(this.form)
.then((response) => {
this.$modal.msgSuccess('新增成功') this.$modal.msgSuccess('新增成功')
this.open = false this.open = false
this.getModelList() // this.getModelList() //
}).catch(error => { })
console.error("新增项目失败:", error); .catch((error) => {
}); console.error('新增项目失败:', error)
})
} }
} }
}) })
}, },
//
async getProjectSelectList() {
const { data: res } = await getProjectSelectListApi()
console.log(res, '下拉选的所有数据')
this.projectSelectList = res
if (res.length > 0) {
this.queryParams.projectId = res[0].id
this.getModelList()
}
},
}, },
} }
</script> </script>

File diff suppressed because it is too large Load Diff