大屏设计页面更换json编辑器
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@amap/amap-jsapi-loader": "^1.0.1",
|
"@amap/amap-jsapi-loader": "^1.0.1",
|
||||||
"@jiaminghi/data-view": "^2.10.0",
|
"@jiaminghi/data-view": "^2.10.0",
|
||||||
|
"bin-code-editor": "^0.9.0",
|
||||||
"dayjs": "^1.8.35",
|
"dayjs": "^1.8.35",
|
||||||
"dvcp-dv": "^1.0.0",
|
"dvcp-dv": "^1.0.0",
|
||||||
"dvcp-dv-ui": "^2.0.0",
|
"dvcp-dv-ui": "^2.0.0",
|
||||||
|
|||||||
@@ -7,13 +7,8 @@
|
|||||||
class="layout-config__edit"
|
class="layout-config__edit"
|
||||||
title="编辑器"
|
title="编辑器"
|
||||||
@onConfirm="onConfirm">
|
@onConfirm="onConfirm">
|
||||||
<div style="height: 500px;">
|
<div>
|
||||||
<vue-json-editor
|
<b-code-editor v-model="json" lint="dracula" auto-format height="440px"></b-code-editor>
|
||||||
v-model="json"
|
|
||||||
:show-btns="false"
|
|
||||||
mode="code"
|
|
||||||
lang="zh">
|
|
||||||
</vue-json-editor>
|
|
||||||
</div>
|
</div>
|
||||||
</ai-dialog>
|
</ai-dialog>
|
||||||
<div class="layout-config__group" v-if="options.monitorType !== 'hik' && options.monitorType !== 'dahua'">
|
<div class="layout-config__group" v-if="options.monitorType !== 'hik' && options.monitorType !== 'dahua'">
|
||||||
@@ -122,7 +117,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import Vue from 'vue'
|
||||||
import vueJsonEditor from 'vue-json-editor'
|
import vueJsonEditor from 'vue-json-editor'
|
||||||
|
import CodeEditor from 'bin-code-editor'
|
||||||
|
import 'bin-code-editor/lib/styles/index.css'
|
||||||
|
|
||||||
|
Vue.use(CodeEditor)
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'dataCofing',
|
name: 'dataCofing',
|
||||||
|
|
||||||
@@ -156,7 +157,8 @@
|
|||||||
sourceData: [],
|
sourceData: [],
|
||||||
keys: [],
|
keys: [],
|
||||||
monitorList: [],
|
monitorList: [],
|
||||||
list: []
|
list: [],
|
||||||
|
jsonData: `{"title":"测试json数据","children":[{"name":"子项名称", "desc":"子项说明" },{"name":"子项名称1", "desc":"子项说明1" }]}`
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -196,7 +198,7 @@
|
|||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
showEditor () {
|
showEditor () {
|
||||||
this.json = JSON.parse(JSON.stringify(this.options.staticData))
|
this.json = JSON.stringify(this.options.staticData)
|
||||||
this.isShowEditor = true
|
this.isShowEditor = true
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -314,7 +316,7 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
onConfirm () {
|
onConfirm () {
|
||||||
this.$set(this.options, 'staticData', JSON.parse(JSON.stringify(this.json)))
|
this.$set(this.options, 'staticData', JSON.parse(this.json))
|
||||||
this.isShowEditor = false
|
this.isShowEditor = false
|
||||||
this.$emit('change')
|
this.$emit('change')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,10 +3,10 @@
|
|||||||
<div v-if="!component">
|
<div v-if="!component">
|
||||||
<div
|
<div
|
||||||
:style="{
|
:style="{
|
||||||
width: item.width + 'px',
|
width: item.width * scale + 'px',
|
||||||
height: item.height + 'px',
|
height: item.height * scale + 'px',
|
||||||
left: item.left + 'px',
|
left: item.left * scale + 'px',
|
||||||
top: item.top + 'px',
|
top: item.top * scale + 'px',
|
||||||
position: 'absolute',
|
position: 'absolute',
|
||||||
zIndex: item.zIndex
|
zIndex: item.zIndex
|
||||||
}"
|
}"
|
||||||
@@ -57,12 +57,26 @@
|
|||||||
backgroundImage: []
|
backgroundImage: []
|
||||||
},
|
},
|
||||||
componentList: [],
|
componentList: [],
|
||||||
|
scale: 1,
|
||||||
meta: {}
|
meta: {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
this.getInfo(this.id)
|
this.getInfo(this.id)
|
||||||
|
|
||||||
|
// this.scale = document.body.clientWidth / 1920
|
||||||
|
},
|
||||||
|
|
||||||
|
mounted () {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
const transform = document.querySelector('#dv-full-screen-container').style.transform
|
||||||
|
const scale = transform.replace('scale', '').replace('(', '').replace(')', '')
|
||||||
|
|
||||||
|
if (scale == 1) {
|
||||||
|
this.scale = document.body.clientWidth / 1920
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
Reference in New Issue
Block a user