Browse Source

map-top修改

feature
mk 2 years ago
parent
commit
ea561c6bac
  1. 86
      src/views/dataBoard/overview/components/map-top.vue

86
src/views/dataBoard/overview/components/map-top.vue

@ -1,20 +1,9 @@
<template> <template>
<div :class="['m-per', { 'm-l77': level != 'street' }]"> <div :class="['m-per', { 'm-l77': level != 'street' }]">
<el-autocomplete <el-autocomplete v-model="keyWord" :fetch-suggestions="querySearch" :placeholder="searchPlaceholder"
v-model="keyWord" class="input-with-select" popper-class="selectPopClass" :value-key="'value'">
:fetch-suggestions="querySearch" <el-select v-model="searchSelect" slot="prepend" placeholder="请选择" popper-class="selectPopClass"
:placeholder="searchPlaceholder" >
class="input-with-select"
popper-class="selectPopClass"
:value-key="'value'"
>
<el-select
v-model="searchSelect"
slot="prepend"
placeholder="请选择"
popper-class="selectPopClass"
@change="handleSelect"
>
<el-option label="需求" value="1"></el-option> <el-option label="需求" value="1"></el-option>
<el-option label="问题" value="2"></el-option> <el-option label="问题" value="2"></el-option>
<el-option label="资源" value="3"></el-option> <el-option label="资源" value="3"></el-option>
@ -48,9 +37,6 @@ export default {
selectIndex: "", selectIndex: "",
numData: {}, numData: {},
searchSelect: "1", searchSelect: "1",
searchPlaceholder:"可按需求人、需求内容关键词搜索",
keyWord: "", keyWord: "",
}; };
}, },
@ -84,49 +70,65 @@ export default {
this.selectIndex = type; this.selectIndex = type;
this.$emit("changeType", type); this.$emit("changeType", type);
}, },
async querySearch(queryString) { async querySearch(queryString, cb) {
try { try {
let params={ let params = {
keyword: queryString, keyword: queryString,
pageSize:20, pageSize: 20,
pageNo:1 pageNo: 1
} }
const {data} = await requestGet('/governance/dataBoard/demand/search', params); console.log(this.searchUrl);
const suggestions = data.map(item => ({ label: item.content, value: item.id })); const { data } = await requestGet(this.searchUrl, params);
const suggestions = data.map(item => ({ label: item.id, value: item.content }));
console.log(suggestions); console.log(suggestions);
return suggestions cb(suggestions)
} catch (error) { } catch (error) {
console.error('Error fetching suggestions:', error); console.error('Error fetching suggestions:', error);
return [];
} }
}, },
getData(item) { getData(item) {
this.$http this.$http
.get( .get(
"/actual/base/streetOverview/mapOrgSum?level=" + "/actual/base/streetOverview/mapOrgSum?level=" +
item.orgLevel + item.orgLevel +
"&orgId=" + "&orgId=" +
item.orgId item.orgId
) )
.then(({ data: { data } }) => { .then(({ data: { data } }) => {
this.numData = data; this.numData = data;
}); });
}, },
handleSelect(val){ },
if(val == 1){ computed: {
this.searchPlaceholder = '可按需求人、需求内容关键词搜索'
}else if(val == 2){
this.searchPlaceholder = '可按联系人、问题描述关键词搜索'
}else if(val == 3){ searchPlaceholder() {
this.searchPlaceholder = '可按单位名称、负责人、负责人联系电话关键词搜索' const mapArr = new Map([
['1', '可按需求人、需求内容关键词搜索'],
['2', '可按联系人、问题描述关键词搜索'],
['3', '可按单位名称、负责人、负责人联系电话关键词搜索'],
['4', '可按姓名、联系电话、问题描述关键词搜索']
]);
}else if(val == 4){ const a = mapArr.get(this.searchSelect);
this.searchPlaceholder = '可按姓名、联系电话、问题描述关键词搜索' return a;
} },
searchUrl() {
const mapArrs = new Map([
['1', '/governance/dataBoard/demand/search'],
['2', '/governance/dataBoard/event/search'],
['3', '/governance/dataBoard/satisfaction/search'],
['4', '/actual/base/dataBoard/resource/search']
]);
const a = mapArrs.get(this.searchSelect)
return a
} }
}, }
}; };
</script> </script>
@ -135,6 +137,7 @@ export default {
.m-l77 { .m-l77 {
margin-left: 77px; margin-left: 77px;
} }
::v-deep .el-autocomplete { ::v-deep .el-autocomplete {
width: 100%; width: 100%;
} }
@ -146,6 +149,7 @@ export default {
border-right: none; border-right: none;
position: relative; position: relative;
width: 131px; width: 131px;
&::after { &::after {
content: ""; content: "";
position: absolute; position: absolute;
@ -157,12 +161,14 @@ export default {
transform: translateY(-7px); transform: translateY(-7px);
} }
} }
.el-input__inner { .el-input__inner {
background: #001c44; background: #001c44;
border: 1px solid #007ff1; border: 1px solid #007ff1;
border-left: none; border-left: none;
border-right: none; border-right: none;
} }
.el-input-group__append { .el-input-group__append {
background: #0058ac; background: #0058ac;
border: 1px solid #007ff1; border: 1px solid #007ff1;

Loading…
Cancel
Save