|
@ -4,7 +4,7 @@ |
|
|
<div class="config-item-main"> |
|
|
<div class="config-item-main"> |
|
|
<span class="data-title">地图DataV</span> |
|
|
<span class="data-title">地图DataV</span> |
|
|
<el-form ref="areaForm" class="areaForm" :model="areaForm" size="small" label-width="100px"> |
|
|
<el-form ref="areaForm" class="areaForm" :model="areaForm" size="small" label-width="100px"> |
|
|
<el-form-item label="GeoJSON" prop="map_data"> |
|
|
|
|
|
|
|
|
<el-form-item class="geoInput" label="GeoJSON" prop="map_data"> |
|
|
<el-tooltip v-if="!editStatus.areaForm.map_data" class="item" effect="dark" content="双击输入框进行编辑" placement="top"> |
|
|
<el-tooltip v-if="!editStatus.areaForm.map_data" class="item" effect="dark" content="双击输入框进行编辑" placement="top"> |
|
|
<span |
|
|
<span |
|
|
class="edit-readonly" |
|
|
class="edit-readonly" |
|
@ -24,9 +24,33 @@ |
|
|
@keyup.enter="handleBlur('areaForm', 'map_data')" |
|
|
@keyup.enter="handleBlur('areaForm', 'map_data')" |
|
|
/> |
|
|
/> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
<div class="config-remarks" style="margin-left: 100px; margin-bottom: 20px;">双击输入框可进行编辑。数据将用于“区域屏”,显示区域地图。<i class="iconfont icon-zhuyi-lan" @click="geoJsonVisible=true" /></div> |
|
|
|
|
|
|
|
|
|
|
|
<el-form-item label="地图边距微调" class="padding-style-input" prop="map_spacing"> |
|
|
|
|
|
<el-tooltip v-if="!editStatus.areaForm.map_spacing" class="item" effect="dark" content="双击输入框进行编辑" placement="top"> |
|
|
|
|
|
<div style="display: flex; justify-content: flex-start; width: 340px; height: 32px; align-items: flex-start;"> |
|
|
|
|
|
<span |
|
|
|
|
|
class="edit-readonly" |
|
|
|
|
|
@dblclick="handleDblClick('areaForm', 'map_spacing')" |
|
|
|
|
|
> |
|
|
|
|
|
{{ areaForm.map_spacing || '' }} |
|
|
|
|
|
</span> |
|
|
|
|
|
|
|
|
|
|
|
<span class="edit-slot">像素</span> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-tooltip> |
|
|
|
|
|
<el-input |
|
|
|
|
|
v-else |
|
|
|
|
|
ref="areaFormmap_spacing" |
|
|
|
|
|
v-model="areaForm.map_spacing" |
|
|
|
|
|
@blur="handleBlur('areaForm', 'map_spacing')" |
|
|
|
|
|
@keyup.enter="handleBlur('areaForm', 'map_spacing')" |
|
|
|
|
|
><template slot="append">像素</template></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<div class="config-remarks" style="margin-left: 100px;">双击输入框可进行编辑。由于地图形状各异,如果需要调整地图垂直位置(让显示更居中),可通过次参数微调,保存后在预览页面查看最终效果!</div> |
|
|
</el-form> |
|
|
</el-form> |
|
|
</div> |
|
|
</div> |
|
|
<div class="config-remarks">双击输入框可进行编辑。数据将用于“区域屏”,显示区域地图。<i class="iconfont icon-zhuyi-lan" @click="geoJsonVisible=true" /></div> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
</div> |
|
|
<div class="config-item"> |
|
|
<div class="config-item"> |
|
|
<div class="config-item-main"> |
|
|
<div class="config-item-main"> |
|
@ -202,6 +226,10 @@ export default { |
|
|
mapData: { |
|
|
mapData: { |
|
|
type: String, |
|
|
type: String, |
|
|
default: null |
|
|
default: null |
|
|
|
|
|
}, |
|
|
|
|
|
mapSpacing: { |
|
|
|
|
|
type: String, |
|
|
|
|
|
default: null |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
data() { |
|
|
data() { |
|
@ -210,11 +238,13 @@ export default { |
|
|
btnLoading: false, |
|
|
btnLoading: false, |
|
|
deleteLoading: false, |
|
|
deleteLoading: false, |
|
|
areaForm: { |
|
|
areaForm: { |
|
|
map_data: null |
|
|
|
|
|
|
|
|
map_data: null, |
|
|
|
|
|
map_spacing: null |
|
|
}, |
|
|
}, |
|
|
editStatus: { |
|
|
editStatus: { |
|
|
areaForm: { |
|
|
areaForm: { |
|
|
map_data: false |
|
|
|
|
|
|
|
|
map_data: false, |
|
|
|
|
|
map_spacing: false |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
originalValues: { |
|
|
originalValues: { |
|
@ -271,10 +301,17 @@ export default { |
|
|
this.areaForm.map_data = newVal |
|
|
this.areaForm.map_data = newVal |
|
|
this.originalValues.areaForm.map_data = newVal |
|
|
this.originalValues.areaForm.map_data = newVal |
|
|
} |
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
mapSpacing(newVal) { |
|
|
|
|
|
if (newVal !== this.areaForm.map_spacing) { |
|
|
|
|
|
this.areaForm.map_spacing = newVal |
|
|
|
|
|
this.originalValues.areaForm.map_spacing = newVal |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
created() { |
|
|
created() { |
|
|
this.areaForm.map_data = this.mapData |
|
|
this.areaForm.map_data = this.mapData |
|
|
|
|
|
this.areaForm.map_spacing = this.mapSpacing |
|
|
}, |
|
|
}, |
|
|
mounted() { |
|
|
mounted() { |
|
|
this.$emit('ready') |
|
|
this.$emit('ready') |
|
@ -316,7 +353,7 @@ export default { |
|
|
submitMapData(formName, field) { |
|
|
submitMapData(formName, field) { |
|
|
const value = this[formName][field] |
|
|
const value = this[formName][field] |
|
|
if (!value) { |
|
|
if (!value) { |
|
|
this.$message.warning(`GeoJSON不能为空`) |
|
|
|
|
|
|
|
|
this.$message.warning(`${this.getFieldLabel(formName, field)}不能为空`) |
|
|
this[formName][field] = this.originalValues[formName][field] |
|
|
this[formName][field] = this.originalValues[formName][field] |
|
|
return |
|
|
return |
|
|
} |
|
|
} |
|
@ -329,17 +366,26 @@ export default { |
|
|
FetchEditScreenSetting(param) |
|
|
FetchEditScreenSetting(param) |
|
|
.then((res) => { |
|
|
.then((res) => { |
|
|
if (res.code !== 500) { |
|
|
if (res.code !== 500) { |
|
|
this.$message.success('GeoJSON更新成功') |
|
|
|
|
|
|
|
|
this.$message.success(`${this.getFieldLabel(formName, field)}更新成功`) |
|
|
this.$emit('update:mapData', value) |
|
|
this.$emit('update:mapData', value) |
|
|
this.$emit('triggerInit') |
|
|
this.$emit('triggerInit') |
|
|
} else { |
|
|
} else { |
|
|
this.$message.error('GeoJSON更新失败') |
|
|
|
|
|
|
|
|
this.$message.error(`${this.getFieldLabel(formName, field)}更新失败`) |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
.catch(() => { |
|
|
.catch(() => { |
|
|
this.$message.error('GeoJSON更新失败') |
|
|
|
|
|
|
|
|
this.$message.error(`${this.getFieldLabel(formName, field)}更新失败`) |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
|
|
|
getFieldLabel(formName, field) { |
|
|
|
|
|
const labels = { |
|
|
|
|
|
areaForm: { |
|
|
|
|
|
map_data: 'GeoJSON', |
|
|
|
|
|
map_spacing: '地图边距微调' |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
return labels[formName][field] || field |
|
|
|
|
|
}, |
|
|
handleCover(value) { |
|
|
handleCover(value) { |
|
|
if (value) { |
|
|
if (value) { |
|
|
const imgUrl = this.baseApi + '/api/fileRelevant/getImg?imgType=1&imgId=' + value |
|
|
const imgUrl = this.baseApi + '/api/fileRelevant/getImg?imgType=1&imgId=' + value |
|
@ -509,6 +555,7 @@ export default { |
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
<style lang="scss" scoped> |
|
|
@import "~@/assets/styles/digitalScreen.scss"; |
|
|
@import "~@/assets/styles/digitalScreen.scss"; |
|
|
|
|
|
.geoInput{ |
|
|
.edit-readonly{ |
|
|
.edit-readonly{ |
|
|
width: 800px !important; |
|
|
width: 800px !important; |
|
|
height: 110px !important; |
|
|
height: 110px !important; |
|
@ -516,16 +563,21 @@ export default { |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
overflow-y: scroll; |
|
|
overflow-y: scroll; |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
.areaForm{ |
|
|
.areaForm{ |
|
|
::v-deep .el-form-item__content { |
|
|
|
|
|
|
|
|
::v-deep .geoInput{ |
|
|
|
|
|
.el-form-item__content { |
|
|
width: 800px !important; |
|
|
width: 800px !important; |
|
|
height: 110px !important; |
|
|
height: 110px !important; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
.icon-zhuyi-lan{ |
|
|
.icon-zhuyi-lan{ |
|
|
font-size: 20px; |
|
|
font-size: 20px; |
|
|
color: #0348f3; |
|
|
color: #0348f3; |
|
|
|
|
|
cursor: pointer; |
|
|
} |
|
|
} |
|
|
.geoJson-dialog{ |
|
|
.geoJson-dialog{ |
|
|
::v-deep .el-dialog{ |
|
|
::v-deep .el-dialog{ |
|
@ -583,7 +635,7 @@ export default { |
|
|
position: relative; |
|
|
position: relative; |
|
|
display: flex; |
|
|
display: flex; |
|
|
justify-content: flex-start; |
|
|
justify-content: flex-start; |
|
|
height: 110px; |
|
|
|
|
|
|
|
|
height: 96px; |
|
|
margin-right: 10px; |
|
|
margin-right: 10px; |
|
|
img{ |
|
|
img{ |
|
|
display: block; |
|
|
display: block; |
|
@ -599,5 +651,23 @@ export default { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.padding-style-input{ |
|
|
|
|
|
.edit-readonly{ |
|
|
|
|
|
width: 289px !important; |
|
|
|
|
|
border-right: none !important; |
|
|
|
|
|
margin-right: 0 !important; |
|
|
|
|
|
border-radius: 4px 0 0 4px !important; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
.edit-slot { |
|
|
|
|
|
background-color: #f5f7fa; |
|
|
|
|
|
color: #909399; |
|
|
|
|
|
display: block; |
|
|
|
|
|
position: relative; |
|
|
|
|
|
border: 1px solid #dcdfe6; |
|
|
|
|
|
border-radius: 0 4px 4px 0; |
|
|
|
|
|
padding: 0 20px; |
|
|
|
|
|
white-space: nowrap; |
|
|
|
|
|
height: 32px; |
|
|
|
|
|
} |
|
|
</style> |
|
|
</style> |