Browse Source

Merge branch 'test' into dev-chaxun

shibei_master
jiangyy 4 years ago
parent
commit
9c4b06aeb7
  1. 0
      src/assets/img/shuju/measure/jgzs.png
  2. 0
      src/assets/img/shuju/measure/lxdj.png
  3. 0
      src/assets/img/shuju/measure/lxzz.png
  4. 0
      src/assets/img/shuju/measure/qydw.png
  5. 1
      src/main.js
  6. 125
      src/views/components/editResi.vue
  7. 11
      src/views/components/resiForm.vue
  8. 16
      src/views/modules/visual/communityGovern/cpt/issue-info.vue
  9. 246
      src/views/modules/visual/communityParty/community.vue
  10. 47
      src/views/modules/visual/components/screen-map/index.vue
  11. 9
      src/views/modules/visual/cpts/analyse.vue

0
src/assets/img/shuju/measure/jgzs@2x.png → src/assets/img/shuju/measure/jgzs.png

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

0
src/assets/img/shuju/measure/ly@2x.png → src/assets/img/shuju/measure/lxdj.png

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

0
src/assets/img/shuju/measure/lxdj@2x.png → src/assets/img/shuju/measure/lxzz.png

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

0
src/assets/img/shuju/measure/xq@2x.png → src/assets/img/shuju/measure/qydw.png

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

1
src/main.js

@ -35,6 +35,7 @@ if (getQueryPara("token")) {
Cookies.set("token", getQueryPara("token")); Cookies.set("token", getQueryPara("token"));
} }
window.app = Object.assign( window.app = Object.assign(
{}, {},
{ {

125
src/views/components/editResi.vue

@ -1,6 +1,6 @@
<template> <template>
<div :id="formId" class="resi-container"> <div :id="formId" class="resi-container">
<el-form :ref="formId" class="resi-form" :model="form" :rules="rules" :label-width="labelWidth"> <el-form :ref="formId" class="resi-form" :model="form" :rules="rulesForm" :label-width="labelWidth">
<template v-if="supportAdd"> <template v-if="supportAdd">
<el-row style="margin-bottom: 10px;"> <el-row style="margin-bottom: 10px;">
<el-col :span="24"> <el-col :span="24">
@ -19,7 +19,7 @@
<!-- <div class="resi-cell-label">{{n.label}}</div> --> <!-- <div class="resi-cell-label">{{n.label}}</div> -->
<div class="resi-cell-value"> <div class="resi-cell-value">
<el-select v-model.trim="form.GRID_ID" :disabled="disabled" placeholder="请选择网格" size="small" <el-select v-model.trim="form.GRID_ID" :disabled="disabled" placeholder="请选择网格" size="small"
clearable class="resi-cell-select" clearable class="resi-cell-select" @change="handleChangeGrid"
> >
<el-option <el-option
v-for="item in optionsG" v-for="item in optionsG"
@ -33,48 +33,70 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="18"> <el-col :span="18">
<el-form-item prop="VILLAGE_ID" label="所属小区" required> <el-form-item label="所属家庭" required>
<div class="resi-cell-value"> <div class="resi-cell-value">
<el-select v-model.trim="form.VILLAGE_ID" :disabled="disabled" placeholder="请选择小区" size="small" <div class="resi-cell-col">
clearable class="resi-cell-select" <el-form-item prop="VILLAGE_ID">
> <el-select v-model.trim="form.VILLAGE_ID" placeholder="请选择小区" size="small"
<el-option clearable class="resi-cell-select" @change="handleChangeV"
v-for="item in optionsV" >
:key="item.value" <el-option
:label="item.label" v-for="item in optionsV"
:value="item.value"> :key="item.value"
</el-option> :label="item.label"
</el-select> :value="item.value">
<el-select v-model.trim="form.BUILD_ID" :disabled="disabled" placeholder="请选择楼号" size="small" </el-option>
clearable class="resi-cell-select resi-cell-select-middle" @change="handleChangeB" </el-select>
> </el-form-item>
<el-option <el-form-item prop="BUILD_ID">
v-for="item in optionsB" <el-select v-model.trim="form.BUILD_ID" placeholder="请选择楼号" size="small"
:key="item.value" clearable class="resi-cell-select resi-cell-select-middle" @change="handleChangeB"
:label="item.label" >
:value="item.value"> <el-option
</el-option> v-for="item in optionsB"
</el-select> :key="item.value"
<el-select v-model.trim="form.UNIT_ID" :disabled="disabled" placeholder="请选择单元" size="small" :label="item.label"
clearable class="resi-cell-select resi-cell-select-middle" @change="handleChangeD" :value="item.value">
> </el-option>
<el-option </el-select>
v-for="item in optionsD" </el-form-item>
:key="item.value" <el-form-item prop="UNIT_ID">
:label="item.label" <el-select v-model.trim="form.UNIT_ID" placeholder="请选择单元" size="small"
:value="item.value"> clearable class="resi-cell-select resi-cell-select-middle" @change="handleChangeD"
</el-option> >
</el-select> <el-option
<el-select v-model.trim="form.HOME_ID" :disabled="disabled" placeholder="请选择房号" size="small" v-for="item in optionsD"
clearable class="resi-cell-select resi-cell-select-middle" :key="item.value"
> :label="item.label"
<el-option :value="item.value">
v-for="item in optionsH" </el-option>
:key="item.value" </el-select>
:label="item.label" </el-form-item>
:value="item.value"> <el-form-item prop="HOME_ID">
</el-option> <el-select v-model.trim="form.HOME_ID" placeholder="请选择房号" size="small"
</el-select> clearable class="resi-cell-select resi-cell-select-middle"
>
<el-option
v-for="item in optionsH"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</div>
<!-- <el-col :span="6">
</el-col>
<el-col :span="6">
</el-col>
<el-col :span="6">
</el-col>
<el-col :span="6">
</el-col> -->
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -379,7 +401,15 @@ export default {
tempFormList, tempFormList,
addCount: 0, addCount: 0,
addList: [], addList: [],
rules, rulesForm: {
...rules,
VILLAGE_ID: [{ required: true, message: `请选择小区`, trigger: 'blur' }],
GRID_ID: [{ required: true, message: `请选择网格`, trigger: 'blur' }],
BUILD_ID: [{ required: true, message: `请选择楼号`, trigger: 'blur' }],
UNIT_ID: [{ required: true, message: `请选择单元`, trigger: 'blur' }],
HOME_ID: [{ required: true, message: `请选择房号`, trigger: 'blur' }]
},
// rules,
value: '', value: '',
optionsV: [], optionsV: [],
optionsB: [], optionsB: [],
@ -804,7 +834,12 @@ export default {
.resi-cell-value .resi-cell-textarea { .resi-cell-value .resi-cell-textarea {
width: 300px; width: 300px;
} }
.resi-cell-col {
display: flex;
.el-form-item {
margin-right: 10px;
}
}
.resi-cell-select { .resi-cell-select {
width: 180px; width: 180px;
box-sizing: border-box; box-sizing: border-box;

11
src/views/components/resiForm.vue

@ -330,13 +330,15 @@ export default {
} }
let initForm = (obj, arr) => { let initForm = (obj, arr) => {
let _form = {} let _form = {}
// console.log('formInfo', obj) console.log('formInfo---arr', arr)
if (Object.keys(obj).length > 0) { if (Object.keys(obj).length > 0) {
_form = { ...obj } _form = { ...obj }
return _form return _form
} }
arr.forEach(item => { arr.forEach(item => {
if (item.multiSelect) _form[item.columnName] = [] if (item.multiSelect) _form[item.columnName] = []
else if (item.itemType == 'radio' && item.defaultValue == '0') _form[item.columnName] = item.defaultValue
else _form[item.columnName] = '' else _form[item.columnName] = ''
// if (item.optionSourceType === 'remote') { // if (item.optionSourceType === 'remote') {
@ -371,7 +373,12 @@ export default {
let form = initForm(this.formInfo, this.formList) let form = initForm(this.formInfo, this.formList)
let rules = initRules(this.formList) let rules = initRules(this.formList)
console.log('rulessss', rules) console.log('rulessss', rules)
let tempFormList = [ ...this.formList ] let tempFormList = [ ...this.formList ].map(item => {
return {
...item,
isChange: (item.itemType == 'radio' && item.defaultValue == '0') ? true : false
}
})
let constForm = { let constForm = {
...form, ...form,
GRID_ID: '', GRID_ID: '',

16
src/views/modules/visual/communityGovern/cpt/issue-info.vue

@ -23,7 +23,8 @@
<span>{{ info.issueSuggestion }}</span> <span>{{ info.issueSuggestion }}</span>
</div> </div>
<div class="info-prop" v-if="info.topicInfo"> <div class="info-prop"
v-if="info.topicInfo">
<span class="info-title-2">话题内容</span> <span class="info-title-2">话题内容</span>
<div> <div>
<div>{{ info.topicInfo.topicContent }}</div> <div>{{ info.topicInfo.topicContent }}</div>
@ -43,7 +44,8 @@
<span class="info-title-2">所属网格</span> <span class="info-title-2">所属网格</span>
<span>{{ info.belongsGridName}}</span> <span>{{ info.belongsGridName}}</span>
</div> </div>
<div class="info-prop" v-if="info.topicInfo"> <div class="info-prop"
v-if="info.topicInfo">
<span class="info-title-2">话题发表人</span> <span class="info-title-2">话题发表人</span>
<span>{{ info.topicInfo.publishedUser}}</span> <span>{{ info.topicInfo.publishedUser}}</span>
</div> </div>
@ -51,11 +53,13 @@
<span class="info-title-2">议题发起人</span> <span class="info-title-2">议题发起人</span>
<span>{{ info.issueInitiator}}</span> <span>{{ info.issueInitiator}}</span>
</div> </div>
<div class="info-prop" v-if="info.topicInfo"> <div class="info-prop"
v-if="info.topicInfo">
<span class="info-title-2">话题来源</span> <span class="info-title-2">话题来源</span>
<span>{{ info.topicInfo.groupName}}</span> <span>{{ info.topicInfo.groupName}}</span>
</div> </div>
<div class="info-prop" v-if="info.topicInfo"> <div class="info-prop"
v-if="info.topicInfo">
<span class="info-title-2">话题发表时间</span> <span class="info-title-2">话题发表时间</span>
<span>{{ info.topicInfo.publishedTimeShow}}</span> <span>{{ info.topicInfo.publishedTimeShow}}</span>
</div> </div>
@ -181,8 +185,10 @@ export default {
if (code === 0) { if (code === 0) {
this.info = data this.info = data
this.info.topicInfo.publishedTimeShow = dateFormat(new Date(this.info.topicInfo.publishedTime * 1000), "yyyy-MM-dd") if (this.info.topicInfo && this.info.topicInfo.publishedTime) {
this.info.topicInfo.publishedTimeShow = dateFormat(new Date(this.info.topicInfo.publishedTime * 1000), "yyyy-MM-dd")
}
} else { } else {
this.$message.error(msg); this.$message.error(msg);
} }

246
src/views/modules/visual/communityParty/community.vue

@ -6,49 +6,49 @@
src="../../../../assets/img/shuju/title-tip.png" /> src="../../../../assets/img/shuju/title-tip.png" />
<div class="title-label"> <div class="title-label">
区域化党建&nbsp;&nbsp; 区域化党建&nbsp;&nbsp;
<el-cascader <el-cascader v-model="selectAgency"
v-model="selectAgency" :options="propTree"
:options="propTree" :props="{ checkStrictly: true }"
:props="{ checkStrictly: true }" :show-all-levels="false"
:show-all-levels="false" clearable
clearable @change="handleCascader">
@change="handleCascader">
</el-cascader> </el-cascader>
</div> </div>
<div class="second-select"> <div class="second-select">
<el-select v-model="serviceMatter" <el-select v-model="serviceMatter"
placeholder="请选择" placeholder="请选择"
@change="handleSelectChange" @change="handleSelectChange"
@clear="handleSelectChange"> @clear="handleSelectChange">
<el-option v-for="item in unitList" <el-option v-for="item in unitList"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value"> :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
<div class="second-select"> <div class="second-select">
<el-date-picker v-model="timeRange" <el-date-picker v-model="timeRange"
type="daterange" type="daterange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
prefix-icon="el-icon-caret-bottom" prefix-icon="el-icon-caret-bottom"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
:clearable="false" :clearable="false"
:default-time="['00:00:00', '23:59:59']" :default-time="['00:00:00', '23:59:59']">
> </el-date-picker>
</el-date-picker> </div>
</div>
</div> </div>
<div class="second-title"> <div class="second-title">
<div class="second-title-label">党建单位分类统计</div> <div class="second-title-label">党建单位分类统计</div>
</div> </div>
<div class="box-wr box-wr-400"> <div class="box-wr box-wr-400">
<div class="box-left"> <div class="box-left">
<div v-for="(item, index) in cateInfo" :key="index" class="box-left-item"> <div v-for="(item, index) in cateInfo"
:key="index"
class="box-left-item">
<div class="box-label">{{ item.label }}</div> <div class="box-label">{{ item.label }}</div>
<div class="box-num">{{ item.value }}</div> <div class="box-num">{{ item.value }}</div>
</div> </div>
@ -113,7 +113,8 @@
</div> </div>
</cpt-card> </cpt-card>
<dialog-info v-show="showedMoreInfo" :info="detailInfo" <dialog-info v-show="showedMoreInfo"
:info="detailInfo"
@close="showedMoreInfo = false" /> @close="showedMoreInfo = false" />
</div> </div>
</template> </template>
@ -166,34 +167,7 @@ export default {
selectAgency: '', selectAgency: '',
unitList: [], unitList: [],
propTree: [], propTree: [],
partyItem: [ partyItem: [],
{
name: '楼宇党建',
value: 1,
color: 'rgba(250, 32, 10, 1)',
icon: require('../../../../assets/img/shuju/measure/ly@2x.png')
}, {
name: '机关直属部门',
value: 2,
color: 'rgba(65, 181, 104, 1)',
icon: require('../../../../assets/img/shuju/measure/jgzs@2x.png')
}, {
name: '两新党建',
value: 3,
color: 'rgba(251, 177, 4, 1)',
icon: require('../../../../assets/img/shuju/measure/lxdj@2x.png')
}, {
name: '辖区单位',
value: 4,
color: 'rgba(80, 194, 237, 1)',
icon: require('../../../../assets/img/shuju/measure/xq@2x.png')
}, {
name: '其他',
value: 5,
color: 'rgba(192, 21, 195, 1)',
icon: require('../../../../assets/img/shuju/measure/qita.png')
}
],
cateInfo: [], cateInfo: [],
// //
isfirstInit: true,// isfirstInit: true,//
@ -251,12 +225,12 @@ export default {
this.getList(this.agencyId) this.getList(this.agencyId)
this.getCateCount(this.agencyId) this.getCateCount(this.agencyId)
this.getCateType(this.agencyId) this.getCateType(this.agencyId)
await this.getWorkUserInfo() await this.getWorkUserInfo()
await this.getMapUnitList(this.agencyId) await this.getMapUnitList(this.agencyId)
}, },
watch: { watch: {
timeRange(val) { timeRange (val) {
console.log('val-www', val) console.log('val-www', val)
this.getList(this.agencyId); this.getList(this.agencyId);
} }
@ -293,7 +267,7 @@ export default {
} }
this.visibleLoading = false this.visibleLoading = false
}, },
async getAgencyList() { async getAgencyList () {
// const url = "/gov/org/customeragency/staffinagencylist"; // const url = "/gov/org/customeragency/staffinagencylist";
// const url = '/gov/org/customeragency/agencygridtree' // const url = '/gov/org/customeragency/agencygridtree'
const url = '/gov/org/customeragency/staffinagencylist' const url = '/gov/org/customeragency/staffinagencylist'
@ -314,25 +288,26 @@ export default {
this.$message.error(msg) this.$message.error(msg)
} }
}, },
getTreeData(data){ getTreeData (data) {
if (!Array.isArray(data)) return [] if (!Array.isArray(data)) return []
let arr = data.map(item => { let arr = data.map(item => {
let _item = {} let _item = {}
if (item.subAgencyList) { if (item.subAgencyList) {
if (item.subAgencyList.length === 0) { if (item.subAgencyList.length === 0) {
_item = { _item = {
label: item.agencyName, label: item.agencyName,
value: item.agencyId + '-' + item.level, value: item.agencyId + '-' + item.level,
level: item.level, level: item.level,
children: undefined children: undefined
} }
} else _item = { } else _item = {
label: item.agencyName, label: item.agencyName,
value: item.agencyId + '-' + item.level, value: item.agencyId + '-' + item.level,
level: item.level, level: item.level,
children: this.getTreeData(item.subAgencyList)} children: this.getTreeData(item.subAgencyList)
}
} else { } else {
_item = { _item = {
label: item.agencyName, label: item.agencyName,
value: item.agencyId + '-' + item.level, value: item.agencyId + '-' + item.level,
level: item.level, level: item.level,
@ -373,19 +348,19 @@ export default {
const colorItem = { const colorItem = {
0: { 0: {
color: 'rgba(250, 32, 10, 1)', color: 'rgba(250, 32, 10, 1)',
icon: require('../../../../assets/img/shuju/measure/ly@2x.png') icon: require('../../../../assets/img/shuju/measure/lxdj.png')
}, },
1: { 1: {
color: 'rgba(251, 177, 4, 1)', color: 'rgba(251, 177, 4, 1)',
icon: require('../../../../assets/img/shuju/measure/lxdj@2x.png') icon: require('../../../../assets/img/shuju/measure/lxzz.png')
}, },
2: { 2: {
color: 'rgba(80, 194, 237, 1)', color: 'rgba(80, 194, 237, 1)',
icon: require('../../../../assets/img/shuju/measure/xq@2x.png') icon: require('../../../../assets/img/shuju/measure/qydw.png')
}, },
3: { 3: {
color: 'rgba(65, 181, 104, 1)', color: 'rgba(65, 181, 104, 1)',
icon: require('../../../../assets/img/shuju/measure/jgzs@2x.png') icon: require('../../../../assets/img/shuju/measure/jgzs.png')
}, },
4: { 4: {
color: 'rgba(192, 21, 195, 1)', color: 'rgba(192, 21, 195, 1)',
@ -417,26 +392,26 @@ export default {
this.$message.error(msg) this.$message.error(msg)
} }
}, },
handleCascader(val) { handleCascader (val) {
console.log('val-vvv', val) console.log('val-vvv', val)
if (val.length > 0) { if (val.length > 0) {
const _arr = val[val.length - 1].split('-') const _arr = val[val.length - 1].split('-')
const orgType = _arr[1] !== 'grid' ? 'agency': 'grid' const orgType = _arr[1] !== 'grid' ? 'agency' : 'grid'
this.getList(_arr[0]) this.getList(_arr[0])
this.getMapUnitList(_arr[0]) this.getMapUnitList(_arr[0])
this.getCateCount(_arr[0]) this.getCateCount(_arr[0])
this.getCateType(_arr[0]) this.getCateType(_arr[0])
} }
}, },
initTime() { initTime () {
const end = new Date(); const end = new Date();
const start = new Date(); const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
console.log('time-rtt', this.timeFormat(start), this.timeFormat(end)) console.log('time-rtt', this.timeFormat(start), this.timeFormat(end))
this.timeRange = [this.timeFormat(start), this.timeFormat(end)] this.timeRange = [this.timeFormat(start), this.timeFormat(end)]
}, },
timeFormat(date) { timeFormat (date) {
if (!date || typeof date === 'string') { if (!date || typeof date === 'string') {
return false return false
} }
@ -554,11 +529,11 @@ export default {
this.iconUrlArray = [ this.iconUrlArray = [
require('../../../../assets/img/shuju/measure/ly@2x.png'),// require('../../../../assets/img/shuju/measure/lxdj.png'),//
require('../../../../assets/img/shuju/measure/jgzs@2x.png'),// require('../../../../assets/img/shuju/measure/lxzz.png'),//
require('../../../../assets/img/shuju/measure/lxdj@2x.png'),// require('../../../../assets/img/shuju/measure/qydw.png'),//
require('../../../../assets/img/shuju/measure/xq@2x.png'),// require('../../../../assets/img/shuju/measure/jgzs.png'),//
require('../../../../assets/img/shuju/measure/qita.png')// require('../../../../assets/img/shuju/measure/qita.png')//
] ]
@ -589,8 +564,8 @@ export default {
clickProject (feature) { clickProject (feature) {
console.log('标注信息', feature.values_.properties) console.log('标注信息', feature.values_.properties)
}, },
async handleLook(val) { async handleLook (val) {
this.detailId = val.id this.detailId = val.id
await this.getDetail(val.id) await this.getDetail(val.id)
this.showedMoreInfo = true this.showedMoreInfo = true
@ -636,21 +611,22 @@ export default {
&::-webkit-scrollbar-corner, &::-webkit-scrollbar-corner,
/* 滚动条角落 */ /* 滚动条角落 */
&::-webkit-scrollbar-thumb, &::-webkit-scrollbar-thumb,
&::-webkit-scrollbar-track { /*滚动条的轨道*/ &::-webkit-scrollbar-track {
/*滚动条的轨道*/
border-radius: 4px; border-radius: 4px;
} }
&::-webkit-scrollbar-corner, &::-webkit-scrollbar-corner,
&::-webkit-scrollbar-track { &::-webkit-scrollbar-track {
/* 滚动条轨道 */ /* 滚动条轨道 */
background: rgba(12, 129, 254, .24); background: rgba(12, 129, 254, 0.24);
// box-shadow: inset 0 0 1px rgba(180, 160, 120, 0.5); // box-shadow: inset 0 0 1px rgba(180, 160, 120, 0.5);
} }
&::-webkit-scrollbar-thumb { &::-webkit-scrollbar-thumb {
/* 滚动条手柄 */ /* 滚动条手柄 */
background: linear-gradient(270deg, #0063FE, #0095FF); background: linear-gradient(270deg, #0063fe, #0095ff);
} }
} }
} }
@ -666,7 +642,6 @@ export default {
margin-right: 6px; margin-right: 6px;
} }
.title-label { .title-label {
font-size: 20px; font-size: 20px;
font-weight: 800; font-weight: 800;
::v-deep .el-input { ::v-deep .el-input {
@ -680,7 +655,7 @@ export default {
border: 1px solid #1a64cc; border: 1px solid #1a64cc;
} }
.el-icon-arrow-down::before { .el-icon-arrow-down::before {
content: "\e790"; content: "\e790";
} }
} }
} }
@ -713,55 +688,54 @@ export default {
background: #2865fa; background: #2865fa;
border-radius: 50%; border-radius: 50%;
} }
} }
.second-select { .second-select {
margin: 0 10px 0 10px; margin: 0 10px 0 10px;
::v-deep .el-input { ::v-deep .el-input {
width: 180px; width: 180px;
height: 36px; height: 36px;
.el-input__inner { .el-input__inner {
height: 100%; height: 100%;
padding: 0 10px; padding: 0 10px;
color: #fff; color: #fff;
line-height: 36px; line-height: 36px;
background: #06186d;
border: 1px solid #1a64cc;
}
.el-icon-arrow-up:before {
content: "\e78f";
}
// .el-select__caret:before {
// content: '\E790'
// }
}
::v-deep .el-date-editor {
width: 360px;
position: relative;
background: #06186d; background: #06186d;
border: 1px solid #1a64cc; border: 1px solid #1a64cc;
.el-range-input {
color: #fff;
background: #06186d;
}
.el-range-separator {
color: #fff;
}
.el-range__icon {
position: absolute;
right: 5px;
// float: right;
}
.el-input__prefix {
left: unset;
right: 5px;
}
} }
.el-icon-arrow-up:before {
content: "\e78f";
}
// .el-select__caret:before {
// content: '\E790'
// }
} }
.second-select:last-child { ::v-deep .el-date-editor {
margin-left: 0; width: 360px;
position: relative;
background: #06186d;
border: 1px solid #1a64cc;
.el-range-input {
color: #fff;
background: #06186d;
}
.el-range-separator {
color: #fff;
}
.el-range__icon {
position: absolute;
right: 5px;
// float: right;
}
.el-input__prefix {
left: unset;
right: 5px;
}
} }
}
.second-select:last-child {
margin-left: 0;
}
.box-wr { .box-wr {
display: flex; display: flex;
box-sizing: border-box; box-sizing: border-box;

47
src/views/modules/visual/components/screen-map/index.vue

@ -1,5 +1,25 @@
<template> <template>
<div class="div_content_map"> <div class="div_content_map">
<!-- <div>
<el-input v-model="input_lat"></el-input>
<el-input v-model="input_lon"></el-input>
<el-button @click="showPosition"></el-button>
</div> -->
<!-- <div id="mouse-position"
style="
color: #fff;
position: absolute;
bottom:10px;
right:10px;
z-index: 10000000;
width: 200px;
line-height: 30px;
background: rgba(0,0,0,0.5);
">
</div>-->
<div class="div_map" <div class="div_map"
id="map" id="map"
ref="map"> ref="map">
@ -27,12 +47,15 @@ import GeoJSON from 'ol/format/GeoJSON.js';
import Point from "ol/geom/Point.js"; import Point from "ol/geom/Point.js";
import Feature from "ol/Feature.js"; import Feature from "ol/Feature.js";
import Overlay from 'ol/Overlay'; import Overlay from 'ol/Overlay';
import { defaults as defaultInteractions, Select, DoubleClickZoom } from 'ol/interaction.js'; import { Select, DoubleClickZoom } from 'ol/interaction.js';
import { getCenter, boundingExtent } from 'ol/extent.js'; import { getCenter, boundingExtent } from 'ol/extent.js';
import { Circle as CircleStyle, Icon, Fill, Stroke, Style, Text } from 'ol/style.js'; import { Circle as CircleStyle, Icon, Fill, Stroke, Style, Text } from 'ol/style.js';
import { altKeyOnly, click, pointerMove } from 'ol/events/condition'; import { altKeyOnly, click, pointerMove } from 'ol/events/condition';
import { getDistance } from 'ol/sphere'; import { getDistance } from 'ol/sphere';
import MousePosition from 'ol/control/MousePosition';
import { createStringXY } from 'ol/coordinate';
import { defaults as defaultControls } from 'ol/control';
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import { Loading } from 'element-ui'; //Loading import { Loading } from 'element-ui'; //Loading
@ -139,8 +162,10 @@ const vueGis = {
//icon //icon
iconUrlArray: [], iconUrlArray: [],
iconTextColor: '#ffffff', iconTextColor: '#ffffff',
distanceMax: null,// distanceMax: null,//
input_lat: null,
input_lon: null
} }
}, },
async mounted () { async mounted () {
@ -148,6 +173,10 @@ const vueGis = {
}, },
methods: { methods: {
showPosition () {
let array = [this.input_lat, this.input_lon]
map.getView().setCenter(array)
},
//:icon //:icon
loadMap (mapInfo, polygonArray, polIconUrlArray, iconArrays, iconUrlArray, iconTextStyle, distanceMax) { loadMap (mapInfo, polygonArray, polIconUrlArray, iconArrays, iconUrlArray, iconTextStyle, distanceMax) {
this.mapInfo = mapInfo this.mapInfo = mapInfo
@ -158,6 +187,11 @@ const vueGis = {
this.iconTextStyle = iconTextStyle this.iconTextStyle = iconTextStyle
this.distanceMax = distanceMax this.distanceMax = distanceMax
iconArrays.forEach(item => {
console.log(item.type, item.urlIndex, item.latitude, item.longitude)
});
// //
this.initMap() this.initMap()
@ -412,6 +446,7 @@ const vueGis = {
//map //map
// //
map = new Map({ map = new Map({
layers: [gaodeMapLayer], layers: [gaodeMapLayer],
// //
view: mapView, view: mapView,
@ -419,6 +454,14 @@ const vueGis = {
//map //map
}) })
var mousePositionControl = new MousePosition({
coordinateFormat: createStringXY(6),//
projection: 'EPSG:4326',
className: 'custom-mouse-position',
target: document.getElementById('mouse-position'), //
undefinedHTML: '&nbsp'
});
map.addControl(mousePositionControl);
// //

9
src/views/modules/visual/cpts/analyse.vue

@ -83,7 +83,7 @@
<div class="analys-col analys-col-wr analys-col-more list-wr" <div class="analys-col analys-col-wr analys-col-more list-wr"
id="scroll-wr"> id="scroll-wr">
<div class="cate-list cate-list-child"> <div class="cate-list cate-list-child" :style="'padding-top:' + computedPd(tempList)">
<div v-for="(item, index) in tempList" <div v-for="(item, index) in tempList"
:key="index" :key="index"
class="cate-row"> class="cate-row">
@ -275,12 +275,19 @@ export default {
} }
return statusObj[status] return statusObj[status]
}, },
computedPd(list) {
if (this.sourceTab == 'group') return '60px'
if (list.length == 1) return '330px'
else if (list.length == 2) return '240px'
else return '60px'
},
handleTabs (type) { handleTabs (type) {
if (type === 'group') this.tempList = [...this.singleList] if (type === 'group') this.tempList = [...this.singleList]
else if (type === 'event') this.tempList = [...this.moreList] else if (type === 'event') this.tempList = [...this.moreList]
this.sourceTab = type this.sourceTab = type
const _dom = document.getElementById('scroll-wr') const _dom = document.getElementById('scroll-wr')
_dom.scrollTop = 0 _dom.scrollTop = 0
this.computedPd(this.tempList)
}, },
handleProject (item) { handleProject (item) {
this.$emit('project', item) this.$emit('project', item)

Loading…
Cancel
Save