接口调试

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,
})
}
// // 修改层级
// export function editLevelApi(data) {
// return request({

View File

@ -42,3 +42,11 @@ export function delProject(proId) {
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,
password,
code,
uuid
uuid,
}
return request({
url: '/login',
headers: {
isToken: false,
repeatSubmit: false
repeatSubmit: false,
},
method: 'post',
data: data
data: data,
})
}
@ -24,10 +24,10 @@ export function register(data) {
return request({
url: '/register',
headers: {
isToken: false
isToken: false,
},
method: 'post',
data: data
data: data,
})
}
@ -35,7 +35,7 @@ export function register(data) {
export function getInfo() {
return request({
url: '/getInfo',
method: 'get'
method: 'get',
})
}
@ -43,7 +43,7 @@ export function getInfo() {
export function logout() {
return request({
url: '/logout',
method: 'post'
method: 'post',
})
}
@ -52,9 +52,9 @@ export function getCodeImg() {
return request({
url: '/captchaImage',
headers: {
isToken: false
isToken: false,
},
method: 'get',
timeout: 20000
timeout: 20000,
})
}

View File

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

File diff suppressed because it is too large Load Diff