功能修改

This commit is contained in:
lSun 2025-11-07 11:11:53 +08:00
parent 9400e5e138
commit 7517040d8f
6 changed files with 1646 additions and 1584 deletions

View File

@ -23,6 +23,15 @@ export function openView(data) {
data, data,
}) })
} }
export function openViewAll(data) {
return request({
url: '/model/openViews',
method: 'post',
data,
})
}
// 删除层级 // 删除层级
export function delModelApi(data) { export function delModelApi(data) {
return request({ return request({

View File

@ -50,3 +50,10 @@ export function getProjectSelectListApi() {
method: 'get', method: 'get',
}) })
} }
//项目类型
export function getProTypeListApi() {
return request({
url: '/project/proTypeSelect',
method: 'get',
})
}

View File

@ -12,21 +12,21 @@
<div class="right-menu"> <div class="right-menu">
<template v-if="device !== 'mobile'"> <template v-if="device !== 'mobile'">
<search id="header-search" class="right-menu-item" /> <!-- <search id="header-search" class="right-menu-item" />-->
<el-tooltip content="源码地址" effect="dark" placement="bottom"> <!-- <el-tooltip content="源码地址" effect="dark" placement="bottom">-->
<ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" /> <!-- <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />-->
</el-tooltip> <!-- </el-tooltip>-->
<el-tooltip content="文档地址" effect="dark" placement="bottom"> <!-- <el-tooltip content="文档地址" effect="dark" placement="bottom">-->
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" /> <!-- <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />-->
</el-tooltip> <!-- </el-tooltip>-->
<screenfull id="screenfull" class="right-menu-item hover-effect" /> <!-- <screenfull id="screenfull" class="right-menu-item hover-effect" />-->
<el-tooltip content="布局大小" effect="dark" placement="bottom"> <!-- <el-tooltip content="布局大小" effect="dark" placement="bottom">-->
<size-select id="size-select" class="right-menu-item hover-effect" /> <!-- <size-select id="size-select" class="right-menu-item hover-effect" />-->
</el-tooltip> <!-- </el-tooltip>-->
</template> </template>
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover"> <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover">
@ -45,7 +45,7 @@
</el-dropdown> </el-dropdown>
<div class="right-menu-item hover-effect setting" @click="setLayout" v-if="setting"> <div class="right-menu-item hover-effect setting" @click="setLayout" v-if="setting">
<svg-icon icon-class="more-up" /> <!-- <svg-icon icon-class="more-up" />-->
</div> </div>
</div> </div>
</div> </div>

View File

@ -3,11 +3,13 @@
<transition name="sidebarLogoFade"> <transition name="sidebarLogoFade">
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/"> <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
<img v-if="logo" :src="logo" class="sidebar-logo" /> <img v-if="logo" :src="logo" class="sidebar-logo" />
<h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
<h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }"> 水运AR应用平台 </h1>
</router-link> </router-link>
<router-link v-else key="expand" class="sidebar-logo-link" to="/"> <router-link v-else key="expand" class="sidebar-logo-link" to="/">
<img v-if="logo" :src="logo" class="sidebar-logo" /> <img v-if="logo" :src="logo" class="sidebar-logo" />
<h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
<h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }"> 水运AR应用平台 </h1>
</router-link> </router-link>
</transition> </transition>
</div> </div>
@ -58,7 +60,7 @@ export default {
height: 50px; height: 50px;
line-height: 50px; line-height: 50px;
background: #2b2f3a; background: #2b2f3a;
text-align: center; //text-align: center;
overflow: hidden; overflow: hidden;
& .sidebar-logo-link { & .sidebar-logo-link {

View File

@ -18,14 +18,14 @@
<el-option :key="item.id" :value="item.id" :label="item.name" v-for="item in projectSelectList"/> <el-option :key="item.id" :value="item.id" :label="item.name" v-for="item in projectSelectList"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="所属单位" prop="unit"> <!-- <el-form-item label="所属单位" prop="unit">
<el-input <el-input
clearable clearable
placeholder="请输入所属单位" placeholder="请输入所属单位"
v-model="queryParams.unit" v-model="queryParams.unit"
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>-->
<el-form-item label="负责人" prop="chargePerson"> <el-form-item label="负责人" prop="chargePerson">
<el-input <el-input
clearable clearable
@ -176,7 +176,7 @@ 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, openViewAll} from '@/api/basic/model'
import { import {
listProject, listProject,
getProject, getProject,
@ -271,6 +271,7 @@ export default {
map: null, map: null,
modelPreviewVisible: false, modelPreviewVisible: false,
modelPreviewInfoList: [], modelPreviewInfoList: [],
projectIdAll: '',
} }
}, },
created() { created() {
@ -597,6 +598,7 @@ export default {
if (res.length > 0) { if (res.length > 0) {
this.queryParams.projectId = res[0].id this.queryParams.projectId = res[0].id
this.projectIdAll = res[0].id
this.getModelList() this.getModelList()
} }
}, },
@ -654,10 +656,22 @@ export default {
// //
handleModelPreview() { handleModelPreview() {
openViewAll({projectId: this.projectIdAll})
.then((res) => {
this.modelPreviewInfoList = res.data
this.modelPreviewVisible = true this.modelPreviewVisible = true
// console.log('res', res.data)
this.initMap() this.initMap()
})
.catch((err) => {
console.error('获取模型详情失败:', err)
})
// this.modelPreviewVisible = true
//
// //
// this.initMap()
}, },
// //

View File

@ -40,10 +40,11 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['basic:project:add']" v-hasPermi="['basic:project:add']"
>新增</el-button >新增
</el-button
> >
</el-col> </el-col>
<el-col :span="1.5"> <!-- <el-col :span="1.5">
<el-button <el-button
type="warning" type="warning"
plain plain
@ -51,9 +52,10 @@
size="mini" size="mini"
@click="handleExport" @click="handleExport"
v-hasPermi="['basic:project:export']" v-hasPermi="['basic:project:export']"
>导出</el-button >导出
</el-button
> >
</el-col> </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
@ -61,6 +63,7 @@
<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="level"/> <el-table-column label="层级配置" align="center" prop="level"/>
<el-table-column label="项目类型" align="center" prop="proType"/>
<el-table-column label="负责人" align="center" prop="chargePerson"/> <el-table-column label="负责人" align="center" prop="chargePerson"/>
<el-table-column label="备注" align="center" prop="remark" width="180"/> <el-table-column label="备注" align="center" prop="remark" width="180"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
@ -71,7 +74,8 @@
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['basic:project:edit']" v-hasPermi="['basic:project:edit']"
>编辑</el-button >编辑
</el-button
> >
<el-button <el-button
size="mini" size="mini"
@ -79,7 +83,8 @@
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['basic:project:remove']" v-hasPermi="['basic:project:remove']"
>删除</el-button >删除
</el-button
> >
</template> </template>
</el-table-column> </el-table-column>
@ -110,6 +115,18 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="项目类型" prop="proType">
<el-select v-model="form.proType" placeholder="请选择项目类型" style="width: 100%">
<el-option
:key="item.id"
:value="item.id"
:label="item.name"
v-for="item in proTypeList"
/>
</el-select>
</el-form-item>
<el-form-item label="负责人" prop="chargePerson"> <el-form-item label="负责人" prop="chargePerson">
<el-input v-model="form.chargePerson" placeholder="请输入负责人"/> <el-input v-model="form.chargePerson" placeholder="请输入负责人"/>
</el-form-item> </el-form-item>
@ -233,7 +250,7 @@
</template> </template>
<script> <script>
import { listProject, getProject, delProject, addProject, updateProject } from '@/api/basic/project' import {listProject, getProject, delProject, addProject, updateProject,getProTypeListApi} from '@/api/basic/project'
import {getLevelListApi} from '@/api/basic/level-manage.js' 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'
@ -278,6 +295,7 @@ export default {
form: { form: {
proName: '', // proName: '', //
level: '', // level: '', //
proType:'', //
chargePerson: '', // chargePerson: '', //
location: '', // location: '', //
longitude: '', // longitude: '', //
@ -288,6 +306,7 @@ export default {
addOrEditRules: { addOrEditRules: {
proName: [{required: true, message: '项目名称不能为空', trigger: 'blur'}], proName: [{required: true, message: '项目名称不能为空', trigger: 'blur'}],
level: [{required: true, message: '请选择层级配置', trigger: 'change'}], level: [{required: true, message: '请选择层级配置', trigger: 'change'}],
proType: [{required: true, message: '请选择项目类型', trigger: 'change'}],
chargePerson: [{required: true, message: '请输入负责人', trigger: 'blur'}], chargePerson: [{required: true, message: '请输入负责人', trigger: 'blur'}],
location: [{required: true, message: '请选择项目所在地', trigger: 'blur'}], location: [{required: true, message: '请选择项目所在地', trigger: 'blur'}],
longitude: [{required: true, message: '请选择项目所在地', trigger: 'blur'}], longitude: [{required: true, message: '请选择项目所在地', trigger: 'blur'}],
@ -295,6 +314,7 @@ export default {
}, },
levelList: [], levelList: [],
proTypeList: [],
searchAddress: '', searchAddress: '',
marker: null, marker: null,
@ -303,6 +323,7 @@ export default {
created() { created() {
this.getList() this.getList()
this.getLevelList() this.getLevelList()
this.getProTypeList()
}, },
methods: { methods: {
async getLevelList() { async getLevelList() {
@ -312,6 +333,13 @@ export default {
}) })
this.levelList = res.rows this.levelList = res.rows
}, },
async getProTypeList() {
const res = await getProTypeListApi()
this.proTypeList = res.data
},
/** 查询岗位列表 */ /** 查询岗位列表 */
getList() { getList() {
this.loading = true this.loading = true
@ -331,6 +359,7 @@ export default {
this.form = { this.form = {
proName: '', // proName: '', //
level: '', // level: '', //
proType: '', //
chargePerson: '', // chargePerson: '', //
location: '', // location: '', //
longitude: '', // longitude: '', //
@ -506,7 +535,8 @@ export default {
this.getList() this.getList()
this.$modal.msgSuccess('删除成功') this.$modal.msgSuccess('删除成功')
}) })
.catch(() => {}) .catch(() => {
})
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {