模型管理功能开发。

This commit is contained in:
lSun 2025-11-12 14:20:06 +08:00
parent db57695418
commit 6def9f51f2
5 changed files with 613 additions and 560 deletions

View File

@ -13,10 +13,10 @@
</el-select>
</el-form-item>
<el-form-item label="设备编" prop="deviceCode">
<el-form-item label="设备编" prop="deviceCode">
<el-input
clearable
placeholder="请输入设备编"
placeholder="请输入设备编"
v-model="queryParams.deviceCode"
@keyup.enter.native="handleQuery"
/>
@ -59,10 +59,10 @@
<el-table-column label="序号" align="center" type="index"/>
<!-- 设备类型 -->
<el-table-column label="设备类型" align="center" prop="deviceTypeName" />
<!-- 设备编 -->
<el-table-column label="设备编" align="center" prop="deviceCode" />
<!-- 所属保管人 -->
<el-table-column label="所属保管人" align="center" prop="userName" />
<!-- 设备编 -->
<el-table-column label="设备编" align="center" prop="deviceCode" />
<!-- 设备保管人 -->
<el-table-column label="设备保管人" align="center" prop="userName" />
<!-- 设备状态特殊处理 -->
<el-table-column label="设备状态" align="center">
<template slot-scope="scope">
@ -195,11 +195,11 @@ export default {
prop: 'deviceTypeName',
},
{
label: '设备编',
label: '设备编',
prop: 'deviceCode',
},
{
label: '所属保管人',
label: '设备保管人',
prop: 'userName',
},
{

View File

@ -82,7 +82,7 @@ export default {
userList: [],
columnList: [
{prop: 'deviceTypeName', label: '设备类型'},
{prop: 'deviceCode', label: '设备编'},
{prop: 'deviceCode', label: '设备编'},
{prop: 'userName', label: '领用人'},
{prop: 'startTime', label: '领用日期'},
{prop: 'endTime', label: '归还日期'},

View File

@ -26,14 +26,24 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="负责人" prop="chargePerson">
<!-- <el-form-item label="负责人" prop="chargePerson">-->
<!-- <el-input-->
<!-- clearable-->
<!-- placeholder="请输入负责人"-->
<!-- v-model="queryParams.chargePerson"-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="设计人" prop="designer">
<el-input
clearable
placeholder="请输入负责人"
v-model="queryParams.chargePerson"
placeholder="请输入设计人"
v-model="queryParams.designer"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -62,6 +72,9 @@
</el-table-column>
<el-table-column label="所属项目" align="center" prop="proName"/>
<el-table-column label="层级名称" align="center" prop="levelName"/>
<el-table-column label="模型版本" align="center" prop="version"/>
<el-table-column label="版本说明" align="center" prop="remark"/>
<el-table-column label="设计人" align="center" prop="designer"/>
<el-table-column label="操作" align="center" width="180">
<template slot-scope="{ row }">
<el-button
@ -237,6 +250,7 @@ export default {
projectId: undefined,
unit: undefined,
chargePerson: undefined,
designer:undefined
},
projectSelectList: [],
list: [

View File

@ -28,6 +28,31 @@
</div>
</el-upload>
</el-form-item>
<el-form-item label=" 模型版本" prop="version">
<el-row>
<el-col :span="20">
<el-input v-model="useOrReturnForm.version" placeholder="请输入模型版本"/>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="设计人员" prop="designer">
<el-row>
<el-col :span="20">
<el-input v-model="useOrReturnForm.designer" placeholder="请输入设计人员"/>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="版本描述" prop="remark">
<el-row>
<el-col :span="20">
<el-input type="textarea" v-model="useOrReturnForm.remark" placeholder="请输入版本描述"/>
</el-col>
</el-row>
</el-form-item>
<el-form-item>
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="goToNextStep" :disabled="!fileList.length">下一步</el-button>
@ -37,14 +62,14 @@
<!-- 图层和实体预览 -->
<div v-if="showLayerDialog" class="layer-container">
<div class="all-select">
<div class="item-index"> </div>
<div class="item-index"></div>
<el-checkbox v-model="allSelect">全选</el-checkbox>
</div>
<div class="layer-item" :key="layer.layerName" v-for="(layer, index) in layerList">
<div class="item-index">
{{ index + 1 }}
</div>
<el-checkbox v-model="layer.checked" style="margin-right: 10px" />
<el-checkbox v-model="layer.checked" style="margin-right: 10px"/>
<span @click="handleLayerSelectNew(layer)">
{{ layer.layerName }}
</span>
@ -59,8 +84,8 @@
</template>
<script>
import { getToken } from '@/utils/auth'
import { addModel } from '@/api/basic/model'
import {getToken} from '@/utils/auth'
import {addModel} from '@/api/basic/model'
export default {
name: 'UseOrReturnForm',
@ -77,13 +102,17 @@ export default {
modelType: '',
version: '',
designer: '',
remark: '',
user: '',
files: [],
modelUrl: '',
projectId: '',
},
useOrReturnFormRules: {
files: [{ required: true, message: '请上传模型文件', trigger: 'change' }],
files: [{required: true, message: '请上传模型文件', trigger: 'change'}],
version: [{required: true, message: '请输入模型版本', trigger: 'blur'}],
designer: [{required: true, message: '请输入设计人员', trigger: 'blur'}],
remark: [{required: true, message: '请输入版本描述', trigger: 'blur'}],
},
fileList: [],
showLayerDialog: false,
@ -101,7 +130,7 @@ export default {
panY: 0,
originX: 200,
originY: 200,
viewBox: { x: 0, y: 0 },
viewBox: {x: 0, y: 0},
}
},
computed: {
@ -182,7 +211,7 @@ export default {
this.zoomLevel = 1
this.panX = 0
this.panY = 0
this.viewBox = { x: 0, y: 0 }
this.viewBox = {x: 0, y: 0}
},
startPan(event) {
@ -212,6 +241,13 @@ export default {
},
goToNextStep() {
this.$refs.useOrReturnFormRef.validate((valid) => {
if (!valid) {
// Element
return false;
}
this.showLayerDialog = true
if (!this.cadData || !this.cadData.length) {
@ -222,7 +258,7 @@ export default {
const map = {}
this.cadData.forEach((entity) => {
if (!map[entity.layerName]) {
map[entity.layerName] = { layerName: entity.layerName, entities: [] }
map[entity.layerName] = {layerName: entity.layerName, entities: []}
}
if (!entity.id) {
entity.id = entity.layerName + '_' + Math.random().toString(36).substr(2, 9)
@ -241,6 +277,7 @@ export default {
this.selectedLayerIndex = 0
this.selectedLayerEntities = this.layerList[0].entities || []
this.selectedEntities = []
});
},
handleLayerSelect(index) {
@ -439,6 +476,7 @@ export default {
display: flex;
align-items: center;
}
.upload-demo-tip {
margin-left: 10px;
color: #f56c6c;
@ -453,6 +491,7 @@ export default {
&::-webkit-scrollbar {
width: 8px;
}
&::-webkit-scrollbar-thumb {
background-color: #dcdfe6;
border-radius: 4px;

View File

@ -16,26 +16,26 @@
</el-row>
</el-form-item>
<el-form-item label="主单位负责人" prop="unitMan">
<el-form-item label="主单位负责人" prop="unitMan">
<el-row>
<el-col :span="20">
<el-input v-model="addOrEditForm.unitMan" placeholder="请输入主单位负责人"/>
<el-input v-model="addOrEditForm.unitMan" placeholder="请输入主单位负责人"/>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="主单位负责人电话" prop="phone">
<el-form-item label="主单位负责人电话" prop="phone">
<el-row>
<el-col :span="20">
<el-input v-model="addOrEditForm.phone" placeholder="请输入主单位负责人电话"/>
<el-input v-model="addOrEditForm.phone" placeholder="请输入主单位负责人电话"/>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="主单位地址" prop="address">
<el-form-item label="主单位地址" prop="address">
<el-row>
<el-col :span="20">
<el-input v-model="addOrEditForm.address" placeholder="请输入主单位地址"/>
<el-input v-model="addOrEditForm.address" placeholder="请输入主单位地址"/>
</el-col>
</el-row>
</el-form-item>
@ -74,7 +74,7 @@ export default {
},
addOrEditFormRules: {
unitName: [{required: true, message: '请输入业主单位名称', trigger: 'blur'}],
unitMan: [{required: true, message: '请输入主单位负责人', trigger: 'blur'}],
unitMan: [{required: true, message: '请输入主单位负责人', trigger: 'blur'}],
},
}
},