文档服务地址:http://47.92.0.57:3000/ 周报索引地址:http://47.92.0.57:3000/s/NruNXRYmV

Commit 5df74ffa by wl2282589971

合并通用部分

parent 2b970adc
...@@ -6745,6 +6745,11 @@ ...@@ -6745,6 +6745,11 @@
"integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==", "integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ==",
"dev": true "dev": true
}, },
"js-cookie": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz",
"integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ=="
},
"js-tokens": { "js-tokens": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
......
<template>
<div>
<el-button-group>
<el-button class="tool-button"type="primary" size="small">移动图层</el-button>
<el-button class="tool-button"type="primary" size="small">放大</el-button>
<el-button class="tool-button"type="primary" size="small">缩小</el-button>
</el-button-group>
</div>
</template>
<script>
export default {
name: "BottomToolBar"
}
</script>
<style scoped>
</style>
<template>
<div class="layout">
<el-header style="height: 70px;background-color: #606266"></el-header>
<ToolBar></ToolBar>
<el-container>
<el-aside>
<sidebar class="sidebar"></sidebar>
</el-aside>
<el-main class="workbench">
<main-view class="main-view"></main-view>
<BottomToolBar class="bottom-tool-bar"></BottomToolBar>
</el-main>
</el-container>
</div>
</template>
<script>
import Sidebar from './Sidebar'
import MainView from './MainView'
import ToolBar from './ToolBar'
import BottomToolBar from './BottomToolBar'
export default {
name: 'Layout',
components: {
BottomToolBar,
ToolBar,
sidebar: Sidebar,
mainView: MainView
}
};
</script>
<style scoped>
.layout {
height: 100%;
overflow: hidden;
}
.workbench {
border: 2px solid #409eff;
margin-left: 10px;
margin-right: 10px;
}
.sidebar {
margin-left: 10px;
}
.main-view {
}
.bottom-tool-bar {
position: fixed;
left: 50%;
bottom: 15%;
}
</style>
<template>
<div class="img-view">
<!-- <div id="img-box">-->
<!--
</div>-->
<!-- <img v-for="item in image_list" :src="item.url" :id="item.id" class="img-item" />-->
<img src="../assets/logo.png">
</div>
</template>
<script>
export default {
name: "MainView",
data(){
return{
}
}
}
// mounted(){
// let _this = this
// this.bus.$on('change-image-list', function (result) {
// _this.via_img_fileref = result
// })
// this.bus.$on('add-image-list', function (result) {
// let image_obj
// let i
// for (i = 0; i < result.length; i++) {
// image_obj = new img_obj()
// image_obj.url =_this.getObjectURL(_this.via_img_fileref[result[i]])
// image_obj.id = result[i]
// _this.image_list.push(image_obj)
// }
// })
// this.bus.$on('show-img', function (img_id) {
// _this.$nextTick(() => {
// _this.img_list_remove_all_active_class()
// _this.img_add_visible_class(img_id)
// })
//
// })
// },
// methods:{
// img_list_remove_all_active_class: function () {
// let imgs = document.getElementById('img-box').childNodes
// let j
// for (j = 0; j < imgs.length; j++) {
// imgs[j].classList.remove('visible')
// }
// },
// img_add_visible_class: function (img_id) {
// // image显示
// document.getElementById(img_id).classList.add('visible')
// },
// getObjectURL: function (file) {
// let url = null ;
// if (window.createObjectURL!=undefined) { // basic
// url = window.createObjectURL(file) ;
// }else if (window.webkitURL!=undefined) { // webkit or chrome
// url = window.webkitURL.createObjectURL(file) ;
// }else if (window.URL!=undefined) { // mozilla(firefox)
// url = window.URL.createObjectURL(file) ;
// }
// return url ;
// },
// }
// }
// function img_obj(url, id) {
// this.url = url
// this.id = id
// }
</script>
<style scoped>
.img-view {
padding: 10px;
}
/*#img-box {*/
/* width: 100%;*/
/* height: 100%;*/
/* overflow: auto;*/
/* position: relative;*/
/*}*/
/*#img-box >>> img{*/
/* visibility: hidden;*/
/* position: absolute;*/
/* top: 0px;*/
/* left: 0px;*/
/*}*/
/*#img-box >>> .img-item.visible{*/
/* visibility: visible;*/
/*}*/
</style>
<template>
<div>
<el-menu
class="toolBar-top"
mode="horizontal">
<el-menu-item index="1" @click="changeToolBar(1)">开始</el-menu-item>
<el-menu-item index="2" @click="changeToolBar(2)">图形标注</el-menu-item>
<el-menu-item index="3" @click="changeToolBar(3)">图层标注</el-menu-item>
</el-menu>
<div class="toolBar">
<el-button-group v-if="activeIndex1===1">
<el-button class="tool-button"type="primary" size="small">保存</el-button>
<el-button class="tool-button"type="primary" size="small">退出</el-button>
</el-button-group>
<el-button-group v-if="activeIndex1===2">
<el-button class="tool-button" type="primary" icon="el-icon-arrow-left" size="small" @click="pre_img()">上一张</el-button>
<el-button class="tool-button"type="primary" size="small" @click="next_img()">下一张<i class="el-icon-arrow-right el-icon--right"></i></el-button>
</el-button-group>
<el-button-group v-if="activeIndex1===2" >
<el-button class="tool-button"type="primary" size="small">多边形标注</el-button>
<el-button class="tool-button"type="primary" size="small">矩形标注</el-button>
<el-button class="tool-button"type="primary" size="small"@click="deleteAnnotation">删除标注</el-button>
</el-button-group>
<el-button-group v-show="activeIndex1===3">
<el-button class="tool-button"type="primary" size="small" >飞到坐标点</el-button>
</el-button-group>
<a v-show="activeIndex1===3">X:</a>
<input v-model="Xpoint" size="small" style="width: 30px" v-show="activeIndex1===3"></input>
<a v-show="activeIndex1===3">Y:</a>
<input v-model="Ypoint" size="small" style="width: 30px" v-show="activeIndex1===3"></input>
<el-button-group v-show="activeIndex1===3">
<el-button class="tool-button"type="primary" size="small">多边形标注</el-button>
<el-button class="tool-button"type="primary" size="small">矩形标注</el-button>
<el-button class="tool-button"type="primary" size="small">地标标注</el-button>
<el-button class="tool-button"type="primary" size="small" @click="deleteAnnotation">删除标注</el-button>
</el-button-group>
</div>
</div>
</template>
<script>
export default {
name: 'ToolBar',
data () {
return {
activeIndex1: 1,
Xpoint:0,
Ypoint:0,
};
},
methods: {
pre_img: function () {
let is_selected = document.getElementsByClassName('visible')
if (is_selected.length) {
let is_selected_id = is_selected[0].id
this.bus.$emit('pre-img', is_selected_id)
} else {
console.log('请上传图片')
}
},
next_img: function () {
let is_selected = document.getElementsByClassName('visible')
if (is_selected.length) {
let is_selected_id = is_selected[0].id
this.bus.$emit('next-img', is_selected_id)
} else {
console.log('请上传图片')
}
},
changeToolBar(val){
this.activeIndex1=val
},
deleteAnnotation: function () {
this.$confirm('确定删除此标注', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$message({
type: 'success',
message: '删除成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}
}
}
</script>
<style>
.toolBar-top{
}
.toolBar{
margin-bottom: 5px;
padding-top: 10px;
color: #409EFF;
}
.tool-button{
margin-bottom: 10px;
margin-left: 10px;
}
</style>
<template>
<div class="layout">
<!-- 工具栏-->
<div class="toolBar">
<el-button-group id="start">
<el-button class="tool-button" type="primary" >保存</el-button>
<el-button class="tool-button" type="primary" >退出</el-button>
</el-button-group>
<el-button-group id="tool">
<el-button class="tool-button" type="primary" icon="el-icon-arrow-left" >上一张</el-button>
<el-button class="tool-button" type="primary" >下一张<i class="el-icon-arrow-right el-icon--right"></i></el-button>
<el-button class="tool-button"type="primary" >多边形标注</el-button>
<el-button class="tool-button"type="primary" >矩形标注</el-button>
<el-button class="tool-button"type="primary" @click="deleteAnnotation">删除标注</el-button>
</el-button-group>
</div>
<el-container>
<!-- 侧边栏-->
<el-aside class="sidebar">
<div class="sidebar-box">
<div>
<div class="img-list-title">图片列表</div>
<div class="img-title-list-box">
<div id="img-title-list">
<el-tree
:data="image_list"
:props="defaultProps"
accordion>
</el-tree>
</div>
</div>
</div>
</div>
</el-aside>
<!-- 工作台-->
<el-main class="workbench">
<img src="../../assets/logo.png">
<el-button-group id="buttonBar">
<el-button class="tool-button"type="primary" >移动图层</el-button>
<el-button class="tool-button"type="primary" >放大</el-button>
<el-button class="tool-button"type="primary" >缩小</el-button>
</el-button-group>
</el-main>
</el-container>
</div>
</template>
<script>
export default {
name: 'imageAnnotation',
data(){
return{
activeIndex1:1,
image_list: [{
label: 'image1.jpg',
children: [{
label: '标注1'
},
{
label: '标注2',
}]
},
{
label: 'image2.jpg',
children: [{
label: '标注1'
},
{
label: '标注2',
}]
}],
layer_list: [{
label: 'image1.jpg',
children: [{
label: '标注1'
},
{
label: '标注2',
}]
},
{
label: 'image2.jpg',
children: [{
label: '标注1'
},
{
label: '标注2',
}]
}],
defaultProps: {
children: 'children',
label: 'label'
}
}
},
methods:{
changeToolBar(val){
this.activeIndex1=val
},
deleteAnnotation: function () {
this.$confirm('确定删除此标注', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$message({
type: 'success',
message: '删除成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}
},
};
</script>
<style scoped>
.layout {
height: 100%;
overflow: hidden;
}
.toolBar{
margin-top: 20px;
margin-bottom: 20px;
}
.workbench {
border: 2px solid #409eff;
margin-left: 10px;
margin-right: 10px;
}
#buttonBar {
position: fixed;
left: 50%;
bottom: 50px;
}
.sidebar {
margin-left: 50px;
border: 2px solid #409eff;
}
.img-list-title{
line-height: 40px;
padding: 0 10px;
background: #409EFF;
color: white;
}
.img-title-list-box{
height: 500px;
overflow: auto;
}
.add-file-btn-group >>> button{
margin-top: 3px;
margin-bottom: 3px;
}
</style>
<template>
<div class="layout">
<!-- 工具栏-->
<div class="toolBar">
<el-button-group id="start">
<el-button class="tool-button" type="primary" >保存</el-button>
<el-button class="tool-button" type="primary" >退出</el-button>
</el-button-group>
<el-button-group style="margin-right: 10px ; ">
<el-button class="tool-button"type="primary" style="margin-right: 10px">飞入坐标点</el-button>
<a>X:</a>
<input type="text" style="width: 30px">
<a>Y:</a>
<input type="text" style="width: 30px">
</el-button-group>
<el-button-group id="tool">
<el-button class="tool-button"type="primary" >多边形标注</el-button>
<el-button class="tool-button"type="primary" >矩形标注</el-button>
<el-button class="tool-button"type="primary" >建立地标</el-button>
<el-button class="tool-button"type="primary" @click="deleteAnnotation">删除标注</el-button>
</el-button-group>
</div>
<el-container>
<!-- 侧边栏-->
<el-aside class="sidebar">
<div class="sidebar-box">
<div>
<div class="img-list-title">图层列表</div>
<div class="img-title-list-box">
<div id="img-title-list">
<el-tree
:data="image_list"
:props="defaultProps"
accordion>
</el-tree>
</div>
</div>
</div>
</div>
</el-aside>
<!-- 工作台-->
<el-main class="workbench">
<img src="../../assets/logo.png">
<el-button-group id="buttonBar">
<el-button class="tool-button" type="primary" >移动图层</el-button>
<el-button class="tool-button" type="primary" >放大</el-button>
<el-button class="tool-button" type="primary" >缩小</el-button>
</el-button-group>
</el-main>
</el-container>
</div>
</template>
<script>
export default {
name: 'layerAnnotation',
data(){
return{
Xpoint: 0,
Ypoint: 0,
activeIndex1:1,
image_list: [{
label: 'image1.jpg',
children: [{
label: '标注1'
},
{
label: '标注2',
}]
},
{
label: 'image2.jpg',
children: [{
label: '标注1'
},
{
label: '标注2',
}]
}],
layer_list: [{
label: 'image1.jpg',
children: [{
label: '标注1'
},
{
label: '标注2',
}]
},
{
label: 'image2.jpg',
children: [{
label: '标注1'
},
{
label: '标注2',
}]
}],
defaultProps: {
children: 'children',
label: 'label'
}
}
},
methods:{
changeToolBar(val){
this.activeIndex1=val
},
deleteAnnotation: function () {
this.$confirm('确定删除此标注', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$message({
type: 'success',
message: '删除成功!'
});
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
}
},
};
</script>
<style scoped>
.layout {
height: 100%;
overflow: hidden;
}
.toolBar{
margin-top: 20px;
margin-bottom: 20px;
}
.workbench {
border: 2px solid #409eff;
margin-left: 10px;
margin-right: 10px;
}
#buttonBar {
position: fixed;
left: 50%;
bottom: 50px;
}
.sidebar {
margin-left: 50px;
border: 2px solid #409eff;
}
.img-list-title{
line-height: 40px;
padding: 0 10px;
background: #409EFF;
color: white;
}
.img-title-list-box{
height: 500px;
overflow: auto;
}
.add-file-btn-group >>> button{
margin-top: 3px;
margin-bottom: 3px;
}
</style>
...@@ -11,6 +11,9 @@ import publishtask from '../components/PublishTask' ...@@ -11,6 +11,9 @@ import publishtask from '../components/PublishTask'
import ongoingtask from '../components/ongoingtask' import ongoingtask from '../components/ongoingtask'
import SelectText from '../components/textAnnotation/SelectText' import SelectText from '../components/textAnnotation/SelectText'
import Table from '../components/textAnnotation/Table' import Table from '../components/textAnnotation/Table'
import imageAnnotiation from '../components/imageAnnotation/imageAnnotiation'
import layerAnnotation from "../components/imageAnnotation/layerAnnotation";
Vue.use(Router) Vue.use(Router)
...@@ -72,6 +75,16 @@ export default new Router({ ...@@ -72,6 +75,16 @@ export default new Router({
name: 'table', name: 'table',
component: Table component: Table
}, },
{
path: '/image',
name: 'image',
component: imageAnnotiation
},
{
path: '/layer',
name: 'layer',
component: layerAnnotation
}
] ]
}, },
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment