This commit is contained in:
sunzhenyu 2020-06-23 10:07:52 +08:00
parent 4a831d4aa7
commit 01351fb34a
11 changed files with 602 additions and 1 deletions

View File

@ -142,7 +142,7 @@ export default {
pathUnit: 'The path to the unit',
jlmap3d: '3d editing',
publish3d: '3d',
assetmanager3d: '3d Asset Manager',
automaticSignalList: 'Automatic signal list',
automaticSignalCode: 'Automatic signal coding',
signalCodeName: 'Signal name',

View File

@ -14,6 +14,7 @@ export default {
dataVerification: '数据校验',
edit3d: '三维编辑',
publish3d: '三维发布',
assetmanager3d: '三维资源管理',
logicalView: '逻辑视图',
physicalView: '物理视图',
mixedView: '混合视图',

View File

@ -9,6 +9,7 @@ const Layout = () => import('@/layout');
const Login = () => import('@/views/login/index');
const Jlmap3dedit = () => import('@/views/jlmap3d/edit/jlmap3dedit');
const Jlmap3dAssetManager = () => import('@/views/jlmap3d/jl3dassetmanager/assetmanager');
const Jlmap3d = () => import('@/views/jlmap3d/drive/jl3ddrive');
const Jlmap3dSandbox = () => import('@/views/jlmap3d/simulation/jl3dsimulation');
const Jlmap3dPassFlow = () => import('@/views/jlmap3d/passflow/jl3dpassflow');
@ -198,6 +199,11 @@ export const constantRoutes = [
component: Jlmap3dedit,
hidden: true
},
{
path: '/design/jlmap3d/assetmanager',
component: Jlmap3dAssetManager,
hidden: true
},
{
path: '/jlmap3d/sandbox',
component: Jlmap3dSandbox,

View File

@ -0,0 +1,73 @@
<template>
<div class="jl3dmanager">
<el-tabs v-model="activeName" type="card" @tab-click="handleClick">
<el-tab-pane label="模型列表" name="modellist">
<Model-List>
</Model-List>
</el-tab-pane>
<el-tab-pane label="贴图列表" name="piclist">
<Pic-List>
</Pic-List>
</el-tab-pane>
<el-tab-pane label="上传模型" name="uploadmodel">
<Upload-Model>
</Upload-Model>
</el-tab-pane>
<el-tab-pane label="上传图片" name="uploadpic">
<Upload-Pic>
</Upload-Pic>
</el-tab-pane>
<el-tab-pane label="替换模型" name="replacemodel">
<Replace-Model>
</Replace-Model>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import ModelList from '@/views/jlmap3d/jl3dassetmanager/component/modellist';
import PicList from '@/views/jlmap3d/jl3dassetmanager/component/piclist';
import UploadModel from '@/views/jlmap3d/jl3dassetmanager/component/uploadmodel';
import UploadPic from '@/views/jlmap3d/jl3dassetmanager/component/uploadpic';
import ReplaceModel from '@/views/jlmap3d/jl3dassetmanager/component/replacemodel';
export default {
name: 'AssetManager',
components: {
ModelList,
PicList,
UploadModel,
UploadPic,
ReplaceModel
},
data() {
return {
activeName: 'first'
};
},
beforeDestroy() {
},
mounted() {
},
methods: {
handleClick(tab, event) {
console.log(tab, event);
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
</style>

View File

@ -0,0 +1,147 @@
<template>
<div class="jl3dmanager">
<el-table
:data="tableData"
style="width: 100%"
:default-sort = "{prop: 'date', order: 'descending'}"
>
<el-table-column
prop="id"
label="资源id"
width="180">
</el-table-column>
<el-table-column
prop="modelname"
label="模型名称"
width="180">
</el-table-column>
<el-table-column
prop="upuser"
label="上传用户"
:formatter="formatter">
</el-table-column>
<el-table-column
prop="modeltype"
label="模型类型"
:formatter="formatter">
</el-table-column>
<el-table-column
prop="devicetype"
label="设备类型"
:formatter="formatter">
</el-table-column>
<el-table-column
prop="modelmsg"
label="模型信息"
:formatter="formatter">
</el-table-column>
<el-table-column
prop="newuploaddate"
label="最新修改时间"
sortable
:formatter="formatter">
</el-table-column>
<el-table-column
prop="uploaddate"
label="上传时间"
sortable
:formatter="formatter">
</el-table-column>
<el-table-column
align="right">
<template slot="header" slot-scope="scope">
<el-input
v-model="search"
size="mini"
placeholder="输入关键字搜索"/>
</template>
<template slot-scope="scope">
<el-button
size="mini"
@click="handleEdit(scope.$index, scope.row)">预览</el-button>
<el-button
size="mini"
@click="handleEdit(scope.$index, scope.row)">替换</el-button>
<el-button
size="mini"
@click="handleEdit(scope.$index, scope.row)">下载</el-button>
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: 'ModelList',
components: {
},
data() {
return {
tableData: [
{
id: '1',
modelname: '1',
upuser: '1',
modeltype:"1",
devicetype:"1",
modelmsg:"1",
newuploaddate:'2016-05-02',
uploaddate:'2016-05-02'
},
{
id: '1',
modelname: '1',
upuser: '1',
modeltype:"1",
devicetype:"1",
modelmsg:"1",
newuploaddate:'2016-05-02',
uploaddate:'2016-05-02'
},
{
id: '1',
modelname: '1',
upuser: '1',
modeltype:"1",
devicetype:"1",
modelmsg:"1",
newuploaddate:'2016-05-02',
uploaddate:'2016-05-02'
}
],
search: ''
};
},
beforeDestroy() {
},
mounted() {
},
methods: {
formatter(row, column) {
return row.address;
},
handleEdit(index, row) {
console.log(index, row);
},
handleDelete(index, row) {
console.log(index, row);
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
</style>

View File

@ -0,0 +1,121 @@
<template>
<div class="jl3dmanager">
<el-table
:data="tableData"
style="width: 100%"
:default-sort = "{prop: 'date', order: 'descending'}"
>
<el-table-column
prop="id"
label="资源id"
width="180">
</el-table-column>
<el-table-column
prop="modelname"
label="图片名称"
width="180">
</el-table-column>
<el-table-column
prop="upuser"
label="上传用户"
:formatter="formatter">
</el-table-column>
<el-table-column
prop="type"
label="类型"
:formatter="formatter">
</el-table-column>
<el-table-column
prop="belone"
label="所属项目"
:formatter="formatter">
</el-table-column>
<el-table-column
prop="newuploaddate"
label="最新修改时间"
sortable
:formatter="formatter">
</el-table-column>
<el-table-column
prop="uploaddate"
label="上传时间"
sortable
:formatter="formatter">
</el-table-column>
<el-table-column
align="right">
<template slot="header" slot-scope="scope">
<el-input
v-model="search"
size="mini"
placeholder="输入关键字搜索"/>
</template>
<template slot-scope="scope">
<el-button
size="mini"
@click="handleEdit(scope.$index, scope.row)">替换</el-button>
<el-button
size="mini"
@click="handleEdit(scope.$index, scope.row)">下载</el-button>
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
name: 'PicList',
components: {
},
data() {
return {
tableData: [
{
id: '1',
modelname: '1',
upuser: '1',
type:"1",
isanimate:false,
isuse:false,
newuploaddate:'2016-05-02',
uploaddate:'2016-05-02'
}
],
search: ''
};
},
beforeDestroy() {
},
mounted() {
},
methods: {
formatter(row, column) {
return row.address;
},
handleEdit(index, row) {
console.log(index, row);
},
handleDelete(index, row) {
console.log(index, row);
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
</style>

View File

@ -0,0 +1,41 @@
<template>
<el-upload
class="upload-demo"
drag
action="https://jsonplaceholder.typicode.com/posts/"
multiple>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
<div class="el-upload__tip" slot="tip">只能上传jpg/png文件且不超过500kb</div>
</el-upload>
</template>
<script>
export default {
name: 'ReplaceModel',
components: {
},
data() {
return {
};
},
beforeDestroy() {
},
mounted() {
},
methods: {
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
</style>

View File

@ -0,0 +1,104 @@
<template>
<div>
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="模型名称">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="模型类型">
<el-select v-model="form.region" placeholder="请选择模型类型">
<el-option label="单体设备" value="device"></el-option>
<el-option label="沙盘驾驶" value="sandbox"></el-option>
<el-option label="通号" value="maintainer"></el-option>
<el-option label="cctv" value="cctv"></el-option>
</el-select>
</el-form-item>
<el-form-item label="设备类型">
<el-select v-model="form.region" placeholder="请选择设备用途类型">
<el-option label="单体设备" value="device"></el-option>
<el-option label="沙盘驾驶" value="sandbox"></el-option>
<el-option label="通号" value="maintainer"></el-option>
<el-option label="cctv" value="cctv"></el-option>
</el-select>
</el-form-item>
<el-form-item label="模型信息">
<el-input type="textarea" v-model="form.desc"></el-input>
</el-form-item>
<el-form-item>
<el-upload
class="upload-demo"
ref="upload"
drag
action="https://jsonplaceholder.typicode.com/posts/"
multiple
:auto-upload="false"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
data = "from"
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
<div class="el-upload__tip" slot="tip">只能上传jpg/png文件且不超过500kb</div>
</el-upload>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">立即创建</el-button>
<el-button>取消</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
name: 'UploadModel',
components: {
},
data() {
return {
form: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
}
};
},
beforeDestroy() {
},
mounted() {
},
methods: {
onSubmit() {
console.log(this.form);
this.$refs.upload.submit();
},
submitUpload() {
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
</style>

View File

@ -0,0 +1,97 @@
<template>
<div>
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="图片名称">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="图片类型">
<el-select v-model="form.region" placeholder="请选择图片用途">
<el-option label="单体设备" value="device"></el-option>
<el-option label="沙盘驾驶" value="sandbox"></el-option>
<el-option label="通号" value="maintainer"></el-option>
<el-option label="cctv" value="cctv"></el-option>
</el-select>
</el-form-item>
<el-form-item label="所属项目">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="图片信息">
<el-input type="textarea" v-model="form.desc"></el-input>
</el-form-item>
<el-form-item>
<el-upload
class="upload-demo"
ref="upload"
drag
action="https://jsonplaceholder.typicode.com/posts/"
multiple
:auto-upload="false"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
data = "from"
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
<div class="el-upload__tip" slot="tip">只能上传jpg/png文件且不超过500kb</div>
</el-upload>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">立即创建</el-button>
<el-button>取消</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
name: 'UploadPic',
components: {
},
data() {
return {
form: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
}
};
},
beforeDestroy() {
},
mounted() {
},
methods: {
onSubmit() {
console.log(this.form);
this.$refs.upload.submit();
},
submitUpload() {
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePictureCardPreview(file) {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
</style>

View File

@ -29,6 +29,7 @@
:line-code="lineCode"
@refresh="loadInitData"
@jlmap3d="jlmap3d"
@assetmanager3d="assetmanager3d"
/>
</div>
</div>
@ -149,6 +150,9 @@ export default {
jlmap3d() {
this.$router.push({ path: '/design/jlmap3d/edit', query: { mapid: this.editModel.id } });
},
assetmanager3d(){
this.$router.push({ path: '/design/jlmap3d/assetmanager' });
},
importMap() {
this.$refs.mapImport.show();
}

View File

@ -98,6 +98,10 @@ export default {
label: this.$t('map.publish3d'),
handler: this.publish3d
},
{
label: this.$t('map.assetmanager3d'),
handler: this.assetmanager3d
},
{
label: this.$t('map.publish'),
handler: this.publish
@ -257,6 +261,9 @@ export default {
this.$refs.publish3d.show();
}
},
assetmanager3d(){
this.$emit('assetmanager3d');
},
jlmap3d() {
this.$emit('jlmap3d');
},