接口调试

This commit is contained in:
BianLzhaoMin 2025-07-15 16:15:39 +08:00
parent 76fcc40834
commit 01a2628cbf
4 changed files with 139 additions and 167 deletions

34
src/api/basic/model.js Normal file
View File

@ -0,0 +1,34 @@
import request from '@/utils/request'
// 获取模型列表
export function getModelListApi(query) {
return request({
url: '/model/list',
method: 'get',
params: query,
})
}
// 新增模型数据
export function addModelApi(data) {
return request({
url: '/model/add',
method: 'post',
data,
})
}
// 删除层级
export function delModelApi(data) {
return request({
url: '/model/delete',
method: 'post',
data,
})
}
// // 修改层级
// export function editLevelApi(data) {
// return request({
// url: '/level/edit',
// method: 'post',
// data,
// })
// }

View File

@ -5,8 +5,8 @@
<el-form-item label="上级节点" prop="deviceName"> <el-form-item label="上级节点" prop="deviceName">
<el-input v-model="addOrEditForm.deviceName" placeholder="请输入设备名称" /> <el-input v-model="addOrEditForm.deviceName" placeholder="请输入设备名称" />
</el-form-item> </el-form-item>
<el-form-item label="分类名称" prop="deviceCode"> <el-form-item label="分类名称" prop="proName">
<el-input v-model="addOrEditForm.deviceCode" placeholder="请输入设备编码" /> <el-input v-model="addOrEditForm.proName" placeholder="请输入设备编码" />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -18,6 +18,7 @@
</template> </template>
<script> <script>
import { addModelApi } from '@/api/basic/model'
export default { export default {
name: 'AddOrEditForm', name: 'AddOrEditForm',
@ -25,11 +26,16 @@ export default {
return { return {
addOrEditForm: { addOrEditForm: {
deviceName: '', deviceName: '',
deviceCode: '', proName: '',
projectId: '',
level: '',
nodeCount: '',
proName: '',
parentId: '', //id
}, },
addOrEditFormRules: { addOrEditFormRules: {
deviceName: [{ required: true, message: '请输入设备名称', trigger: 'blur' }], deviceName: [{ required: true, message: '请输入设备名称', trigger: 'blur' }],
deviceCode: [{ required: true, message: '请输入设备编码', trigger: 'blur' }], proName: [{ required: true, message: '请输入设备编码', trigger: 'blur' }],
Keeper: [{ required: true, message: '请选择设备保管人', trigger: 'change' }], Keeper: [{ required: true, message: '请选择设备保管人', trigger: 'change' }],
}, },
@ -47,14 +53,21 @@ export default {
}, },
methods: { methods: {
cancel() { cancel() {
this.$emit('closeAddOrEditFormDialog') this.$emit('closeAddOrEditFormDialog', false)
}, },
submitForm() { submitForm() {
// this.$emit('submitForm') this.$refs.addOrEditFormRef.validate(async (valid) => {
this.$refs.addOrEditFormRef.validate((valid) => {
if (valid) { if (valid) {
this.$emit('closeAddOrEditFormDialog') //
const params = JSON.parse(JSON.stringify(this.addOrEditForm))
this.$delete(params, 'deviceName')
const res = await addModelApi(params)
if (res.code === 200) {
this.$message.success('新增成功')
this.$emit('closeAddOrEditFormDialog', true)
} else {
this.$message.error(res.msg)
}
} else { } else {
return false return false
} }
@ -65,9 +78,13 @@ export default {
}, },
setFormData(data) { setFormData(data) {
const { deviceName } = data const { deviceName, id, level, nodeCount, projectId } = data
this.addOrEditForm = { this.addOrEditForm = {
deviceName, deviceName,
projectId,
parentId: id,
level: parseInt(level) + 1,
nodeCount,
} }
}, },
}, },

View File

@ -51,15 +51,15 @@
border border
row-key="id" row-key="id"
v-loading="loading" v-loading="loading"
:data="deviceList" :data="modelList"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }" :tree-props="{ children: 'nodes', hasChildren: 'hasChildren' }"
> >
<el-table-column label="序号" align="center" type="index" /> <el-table-column label="序号" align="center" type="index" />
<el-table-column prop="name" label="项目名称"> <el-table-column label="项目名称">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<span> <span>
{{ row.name }} {{ row.proName }}
</span> </span>
<el-tag style="margin-left: 10px" size="mini" type="primary">节点{{ row.level }}</el-tag> <el-tag style="margin-left: 10px" size="mini" type="primary">节点{{ row.level }}</el-tag>
</template> </template>
@ -72,7 +72,7 @@
type="text" type="text"
icon="el-icon-plus" icon="el-icon-plus"
@click="handleAddChild(row)" @click="handleAddChild(row)"
v-if="row.totalLevel !== row.level" v-if="row.nodeCount !== row.level"
> >
新增 新增
</el-button> </el-button>
@ -80,17 +80,27 @@
size="mini" size="mini"
type="text" type="text"
icon="el-icon-upload" icon="el-icon-upload"
v-if="row.totalLevel === row.level" v-if="row.nodeCount === row.level"
@click="handleUploadModel(row)" @click="handleUploadModel(row)"
> >
上传模型 上传模型
</el-button> </el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleEdit(row)"
v-if="row.level != 1"
>
修改
</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
style="color: #f56c6c" style="color: #f56c6c"
@click="handleDelete(row)" @click="handleDelete(row)"
v-if="row.level != 1"
> >
删除 删除
</el-button> </el-button>
@ -103,7 +113,7 @@
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getDeviceList" @pagination="getModelList"
/> />
<!-- 添加或修改岗位对话框 --> <!-- 添加或修改岗位对话框 -->
@ -125,6 +135,8 @@
import AddOrEditForm from './addOrEditForm.vue' import AddOrEditForm from './addOrEditForm.vue'
import UseOrReturnForm from './useOrReturnForm.vue' import UseOrReturnForm from './useOrReturnForm.vue'
import UseRecordTable from './useRecordTable.vue' import UseRecordTable from './useRecordTable.vue'
import { getModelListApi, delModelApi } from '@/api/basic/model'
export default { export default {
name: 'DeviceManage', name: 'DeviceManage',
components: { components: {
@ -142,144 +154,11 @@ export default {
useOrReturnFormVisible: false, // useOrReturnFormVisible: false, //
useRecordFormVisible: false, // 使 useRecordFormVisible: false, // 使
// //
deviceList: [ modelList: [],
{
id: 3,
date: '2016-05-01',
name: '*****项目1',
level: 1,
totalLevel: 2,
children: [
{
id: 31,
date: '2016-05-01',
name: '椭圆',
level: 2,
totalLevel: 2,
},
{
id: 32,
date: '2016-05-01',
name: '长方形',
level: 2,
totalLevel: 2,
},
{
id: 33,
date: '2016-05-01',
name: '正方形',
level: 2,
totalLevel: 2,
},
],
},
{
id: 4,
date: '2016-05-01',
name: '*****项目2',
level: 1,
totalLevel: 2,
children: [
{
id: 39,
date: '2016-05-01',
name: '椭圆',
level: 2,
totalLevel: 2,
},
{
id: 40,
date: '2016-05-01',
name: '长方形',
level: 2,
totalLevel: 2,
},
],
},
{
id: 5,
date: '2016-05-01',
name: '*****项目3',
level: 1,
totalLevel: 3,
children: [
{
id: 41,
date: '2016-05-01',
name: '*****工程1',
level: 2,
totalLevel: 3,
children: [
{
id: 58,
date: '2016-05-01',
name: '椭圆',
level: 3,
totalLevel: 3,
},
{
id: 59,
date: '2016-05-01',
name: '长方形',
level: 3,
totalLevel: 3,
},
],
},
{
id: 42,
date: '2016-05-01',
name: '*****工程2',
level: 2,
totalLevel: 3,
children: [
{
id: 60,
date: '2016-05-01',
name: '椭圆',
level: 3,
totalLevel: 3,
},
{
id: 61,
date: '2016-05-01',
name: '长方形',
level: 3,
totalLevel: 3,
},
],
},
{
id: 43,
date: '2016-05-01',
name: '*****工程3',
level: 2,
totalLevel: 3,
children: [
{
id: 62,
date: '2016-05-01',
name: '椭圆',
level: 3,
totalLevel: 3,
},
{
id: 63,
date: '2016-05-01',
name: '长方形',
level: 3,
totalLevel: 3,
},
],
},
],
},
],
// //
queryParams: { queryParams: {
pageNum: 1, // pageNum: 1,
pageSize: 10, // pageSize: 10,
proName: undefined, proName: undefined,
unit: undefined, unit: undefined,
chargePerson: undefined, chargePerson: undefined,
@ -288,12 +167,13 @@ export default {
}, },
created() { created() {
// this.getDeviceList() // this.getDeviceList()
this.getModelList()
}, },
methods: { methods: {
// //
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1 this.queryParams.pageNum = 1
this.getDeviceList() this.getModelList()
}, },
// //
@ -311,23 +191,22 @@ export default {
// //
handleAddChild(row) { handleAddChild(row) {
console.log(row) const { id, proName, level, nodeCount, projectId } = row
const { id, name } = row
this.addOrEditFormTitle = '新增' this.addOrEditFormTitle = '新增'
this.editForm = null this.editForm = null
this.addOrEditFormVisible = true this.addOrEditFormVisible = true
const editForm = { deviceName: name } const editForm = { deviceName: proName, id, level, nodeCount, projectId }
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.addOrEditComponentRef.setFormData(editForm) this.$refs.addOrEditComponentRef.setFormData(editForm)
}) })
}, },
// //
getDeviceList() { getModelList() {
this.loading = true this.loading = true
listProject(this.queryParams).then((response) => { getModelListApi(this.queryParams).then((response) => {
this.proList = response.rows this.modelList = response.rows
this.total = response.total this.total = response.total
this.loading = false this.loading = false
}) })
@ -346,10 +225,12 @@ export default {
// //
handleEdit(row) { handleEdit(row) {
const { id, proName, level, nodeCount } = row
this.addOrEditFormTitle = '编辑' this.addOrEditFormTitle = '编辑'
this.editForm = null
this.addOrEditFormVisible = true this.addOrEditFormVisible = true
const { deviceId, deviceName, deviceCode, remark, Keeper } = row
const editForm = { deviceId, deviceName, deviceCode, remark, Keeper } const editForm = { deviceName: proName, id, level, nodeCount }
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.addOrEditComponentRef.setFormData(editForm) this.$refs.addOrEditComponentRef.setFormData(editForm)
}) })
@ -362,12 +243,23 @@ export default {
}, },
// //
handleDelete(row) {}, handleDelete(row) {
this.$modal.confirm('是否确认删除当前节点数据吗?').then(async () => {
const res = await delModelApi({ id: row.id })
if (res.code === 200) {
this.$modal.msgSuccess('删除成功')
this.getModelList()
}
})
},
// //
closeAddOrEditFormDialog() { closeAddOrEditFormDialog(isSuccess) {
this.$refs.addOrEditComponentRef.resetForm() this.$refs.addOrEditComponentRef.resetForm()
this.addOrEditFormVisible = false this.addOrEditFormVisible = false
if (isSuccess) {
this.getModelList()
}
}, },
// //
@ -375,6 +267,8 @@ export default {
this.$refs.useOrReturnFormComponentRef.resetForm() this.$refs.useOrReturnFormComponentRef.resetForm()
this.useOrReturnFormVisible = false this.useOrReturnFormVisible = false
}, },
//
}, },
} }
</script> </script>

View File

@ -65,10 +65,11 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="proList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="proList" @selection-change="handleSelectionChange" border>
<el-table-column label="序号" align="center" type="index" /> <el-table-column label="序号" align="center" type="index" />
<el-table-column label="项目名称" align="center" prop="proName" /> <el-table-column label="项目名称" align="center" prop="proName" />
<el-table-column label="项目类型" align="center" prop="proType" /> <el-table-column label="项目类型" align="center" prop="proType" />
<el-table-column label="层级配置" align="center" prop="level" />
<el-table-column label="所属单位" align="center" prop="unit" /> <el-table-column label="所属单位" align="center" prop="unit" />
<el-table-column label="负责人" align="center" prop="chargePerson" /> <el-table-column label="负责人" align="center" prop="chargePerson" />
<el-table-column label="项目所在地" align="center" prop="location" width="180" /> <el-table-column label="项目所在地" align="center" prop="location" width="180" />
@ -112,6 +113,16 @@
<el-form-item label="项目类型" prop="proType"> <el-form-item label="项目类型" prop="proType">
<el-input v-model="form.proType" placeholder="请输入项目类型" /> <el-input v-model="form.proType" placeholder="请输入项目类型" />
</el-form-item> </el-form-item>
<el-form-item label="层级配置" prop="level">
<el-select v-model="form.level" placeholder="请选择层级配置" style="width: 100%">
<el-option
:key="item.configId"
:value="item.configId"
:label="item.configName"
v-for="item in levelList"
/>
</el-select>
</el-form-item>
<el-form-item label="建设单位" prop="unit"> <el-form-item label="建设单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入建设单位" /> <el-input v-model="form.unit" placeholder="请输入建设单位" />
</el-form-item> </el-form-item>
@ -134,9 +145,9 @@
<!-- 地图选点对话框 --> <!-- 地图选点对话框 -->
<el-dialog <el-dialog
title="地图选点" title="地图选点"
:visible.sync="mapVisible"
:fullscreen="false"
id="mapDialog" id="mapDialog"
:fullscreen="false"
:visible.sync="mapVisible"
:close-on-click-modal="false" :close-on-click-modal="false"
style="margin-top: 8.5vh" style="margin-top: 8.5vh"
> >
@ -207,6 +218,7 @@
<script> <script>
import { listProject, getProject, delProject, addProject, updateProject } from '@/api/basic/project' import { listProject, getProject, delProject, addProject, updateProject } from '@/api/basic/project'
import { getLevelListApi } from '@/api/basic/level-manage.js'
import { BaiduMap, BmNavigation, BmView, BmGeolocation, BmCityList, BmLocalSearch } from 'vue-baidu-map' import { BaiduMap, BmNavigation, BmView, BmGeolocation, BmCityList, BmLocalSearch } from 'vue-baidu-map'
export default { export default {
@ -251,17 +263,30 @@ export default {
longitude: '', longitude: '',
latitude: '', latitude: '',
location: '', location: '',
remark: '',
level: '',
}, },
// //
rules: { rules: {
proName: [{ required: true, message: '项目名称不能为空', trigger: 'blur' }], proName: [{ required: true, message: '项目名称不能为空', trigger: 'blur' }],
level: [{ required: true, message: '请选择层级配置', trigger: 'change' }],
}, },
levelList: [],
} }
}, },
created() { created() {
this.getList() this.getList()
this.getLevelList()
}, },
methods: { methods: {
async getLevelList() {
const res = await getLevelListApi({
pageNum: 1,
pageSize: 1000,
})
this.levelList = res.rows
},
/** 查询岗位列表 */ /** 查询岗位列表 */
getList() { getList() {
this.loading = true this.loading = true
@ -286,6 +311,7 @@ export default {
chargePerson: undefined, chargePerson: undefined,
location: undefined, location: undefined,
remark: undefined, remark: undefined,
level: undefined,
} }
this.resetForm('form') this.resetForm('form')
}, },
@ -317,6 +343,7 @@ export default {
this.form = response.data this.form = response.data
this.open = true this.open = true
this.title = '修改项目' this.title = '修改项目'
this.form.level = response.data.proId
}) })
}, },
/** 提交按钮 */ /** 提交按钮 */