Browse Source

Merge branch 'prod' of http://git.elinkit.com.cn:7070/r/epmet-oper-gov into prod

shibei_master
13176889840 4 years ago
parent
commit
5b87e4722a
  1. 4
      .env.development
  2. 4
      public/index.html
  3. 19
      src/assets/scss/modules/visual/distributionAnalyze.scss
  4. 2
      src/assets/scss/modules/visual/issue-info.scss
  5. 7
      src/assets/scss/modules/visual/resibuzz.scss
  6. 2
      src/views/modules/communityParty/elegant/index.vue
  7. 14
      src/views/modules/communityParty/regionalParty/activitys.vue
  8. 13
      src/views/modules/communityParty/regionalParty/activitysForm.vue
  9. 238
      src/views/modules/communityService/dqfwzx/cpts/edit.vue
  10. 136
      src/views/modules/communityService/dqfwzx/cpts/order.vue
  11. 12
      src/views/modules/communityService/dqfwzx/index.vue
  12. 103
      src/views/modules/communityService/measure/index.vue
  13. 6
      src/views/modules/visual/basicinfo/basicInfoMain.vue
  14. 8
      src/views/modules/visual/communityGovern/cpt/issue-info.vue
  15. 239
      src/views/modules/visual/communityGovern/distributionAnalyze.vue
  16. 3
      src/views/modules/visual/communityGovern/processAnalyze.vue
  17. 11
      src/views/modules/visual/communityGovern/resibuzz.vue
  18. 13
      src/views/modules/visual/communityGovern/typeAnalyze.vue
  19. 170
      src/views/modules/visual/communityParty/community.vue
  20. 80
      src/views/modules/visual/communityParty/party.vue
  21. 6
      src/views/modules/visual/components/screen-map/index.vue
  22. 6
      src/views/modules/visual/components/screen-table/index.vue
  23. 14
      src/views/modules/visual/heart/index.vue
  24. 2
      src/views/modules/visual/measure/service.vue
  25. 68
      src/views/modules/visual/measure/volunteer.vue
  26. 6
      src/views/modules/workSys/mapConfig.vue

4
.env.development

@ -1,7 +1,9 @@
NODE_ENV=development NODE_ENV=development
# VUE_APP_API_SERVER = https://epmet-test.elinkservice.cn/api # VUE_APP_API_SERVER = https://epmet-test.elinkservice.cn/api
VUE_APP_API_SERVER = http://192.168.1.140/api VUE_APP_API_SERVER = http://192.168.1.140/api
# VUE_APP_API_SERVER = http://192.168.51.36:8080/api
#家中开发连级的后端服务
# VUE_APP_API_SERVER = https://epmet-dev.elinkservice.cn:41080/api
# VUE_APP_API_SERVER = https://epmet-dev.elinkservice.cn/api # VUE_APP_API_SERVER = https://epmet-dev.elinkservice.cn/api
VUE_APP_NODE_ENV=dev VUE_APP_NODE_ENV=dev
#项目根路径 #项目根路径

4
public/index.html

@ -40,8 +40,8 @@
<script> <script>
window.SITE_CONFIG['apiURL'] = 'http://192.168.1.140/api' window.SITE_CONFIG['apiURL'] = 'http://192.168.1.140/api'
// window.SITE_CONFIG['apiURL'] = 'https://epmet-test.elinkservice.cn/api' // window.SITE_CONFIG['apiURL'] = 'https://epmet-test.elinkservice.cn/api'
// window.SITE_CONFIG['apiURL'] = 'http://118.190.150.119:41080/api' // window.SITE_CONFIG['apiURL'] = 'http://118.190.150.119:41080/api'
// window.SITE_CONFIG['apiURL'] = 'https://epmet-dev.elinkservice.cn/api' // window.SITE_CONFIG['apiURL'] = 'https://epmet-dev.elinkservice.cn/api'
</script> </script>
<% } %> <% } %>
<!-- 集成测试环境 dev --> <!-- 集成测试环境 dev -->

19
src/assets/scss/modules/visual/distributionAnalyze.scss

@ -28,7 +28,7 @@
display: block; display: block;
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 20px;
.second-title-label { .second-title-label {
position: relative; position: relative;
padding-left: 40px; padding-left: 40px;
@ -117,11 +117,11 @@
flex-direction: row; flex-direction: row;
// flex-wrap: wrap; // flex-wrap: wrap;
justify-content: space-between; justify-content: space-between;
height: calc(100vh - 230px); height: calc(100vh - 190px);
.g-l { .g-l {
width: 40%; width: 40%;
height: calc(100vh - 240px); height: calc(100vh - 200px);
.echart-line { .echart-line {
margin-left: 30px; margin-left: 30px;
@ -135,16 +135,25 @@
width: 100%; width: 100%;
height: 90%; height: 90%;
} }
> img {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}
} }
} }
.g-r { .g-r {
width: 55%; width: 55%;
height: calc(100vh - 250px); height: calc(100vh - 210px);
.r-map { .r-map {
position: relative; position: relative;
height: calc(100vh - 250px - 50px); height: calc(100vh - 210px - 50px);
width: 100%; width: 100%;
.map { .map {

2
src/assets/scss/modules/visual/issue-info.scss

@ -74,7 +74,7 @@
display: flex; display: flex;
padding-left: 15px; padding-left: 15px;
.info-title-2 { .info-title-2 {
width: 90px; width: 100px;
flex: 0 0 1; flex: 0 0 1;
font-size: 14px; font-size: 14px;
} }

7
src/assets/scss/modules/visual/resibuzz.scss

@ -52,9 +52,10 @@
} }
} }
.status-select { .status-select {
position: absolute; margin-left: 10px;
top: 20px; // position: absolute;
right: 10px; // top: 20px;
// right: 10px;
} }
.second-select:last-child { .second-select:last-child {
margin-left: 0; margin-left: 0;

2
src/views/modules/communityParty/elegant/index.vue

@ -120,7 +120,7 @@
</el-card> </el-card>
<el-dialog <el-dialog
title="居民需求分类" title="党员风采"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="40%" width="40%"
append-to-body append-to-body

14
src/views/modules/communityParty/regionalParty/activitys.vue

@ -148,6 +148,16 @@
label="活动时间" label="活动时间"
width="230"> width="230">
</el-table-column> </el-table-column>
<el-table-column prop="activityTime"
header-align="center"
align="center"
label="来源"
width="100">
<template slot-scope="scope">
<span v-if="scope.row.actId">小程序</span>
<span v-else>管理平台</span>
</template>
</el-table-column>
<el-table-column label="操作" <el-table-column label="操作"
fixed="right" fixed="right"
@ -161,7 +171,8 @@
style="color:#1C6AFD;text-decoration: underline;" style="color:#1C6AFD;text-decoration: underline;"
size="small" size="small"
@click="handleDetail(scope.row)">查看</el-button> @click="handleDetail(scope.row)">查看</el-button>
<el-button type="text" <el-button v-if="!scope.row.actId"
type="text"
style="color:#00A7A9;text-decoration: underline;" style="color:#00A7A9;text-decoration: underline;"
size="small" size="small"
@click="handleEdit(scope.row)">修改</el-button> @click="handleEdit(scope.row)">修改</el-button>
@ -199,6 +210,7 @@
@dialogCancle="addFormCancle" @dialogCancle="addFormCancle"
@dialogOk="addFormOk"></activitys-form> @dialogOk="addFormOk"></activitys-form>
</el-dialog> </el-dialog>
<el-dialog :visible.sync="detailShow" <el-dialog :visible.sync="detailShow"
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"

13
src/views/modules/communityParty/regionalParty/activitysForm.vue

@ -244,6 +244,8 @@ export default {
} }
this.endLoading() this.endLoading()
}, },
// //
@ -258,7 +260,16 @@ export default {
if (code === 0) { if (code === 0) {
this.formData = data this.formData = data
map.setCenter(new TMap.LatLng(this.formData.latitude, this.formData.longitude)) console.log(this.formData.content)
let style_img = "style='width:50px;height:40px;' "
if (this.formData.content) {
this.formData.content = this.formData.content.replace(/<img/g, "<img style='width:200px;height:120px;'")
// let array=this.formData.content.split('<img')
}
console.log(this.formData.content)
map.setCenter(new TMap.LatLng(parseFloat(this.formData.latitude), parseFloat(this.formData.longitude)))
this.setMarker(this.formData.latitude, this.formData.longitude) this.setMarker(this.formData.latitude, this.formData.longitude)
} else { } else {
this.$message.error(msg) this.$message.error(msg)

238
src/views/modules/communityService/dqfwzx/cpts/edit.vue

@ -173,67 +173,95 @@
:key="'staff' + index" :key="'staff' + index"
v-for="(item, index) in dataForm.matterList" v-for="(item, index) in dataForm.matterList"
> >
<el-input <div class="item-info">
class="item_width_1" <el-input
maxlength="50" class="item_width_1"
show-word-limit maxlength="50"
placeholder="事项名" show-word-limit
v-model="item.matterName" placeholder="事项名"
:disabled="item.matterId != undefined" v-model="item.matterName"
/> :disabled="item.matterId != undefined"
/>
<el-select
style="margin-left: 10px" <el-select
v-model="item.appointmentType" style="margin-left: 10px"
filterable v-model="item.appointmentType"
placeholder="预约类型" filterable
:disabled="item.matterId != undefined" placeholder="预约类型"
> :disabled="item.matterId != undefined"
<el-option
v-for="item in appointmentTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
> >
</el-option> <el-option
</el-select> v-for="item in appointmentTypeOptions"
:key="item.value"
<el-time-select :label="item.label"
style="margin-left: 10px" :value="item.value"
v-model="item.startTime" >
:picker-options="{ </el-option>
start: '00:00', </el-select>
step: '00:30',
end: '24:00', <el-time-select
}" style="margin-left: 10px"
placeholder="开始时间" v-model="item.startTime"
:disabled="item.matterId != undefined" :picker-options="{
> start: '00:00',
</el-time-select> step: '00:30',
<span style="margin: 0 5px"></span> end: '24:00',
<el-time-select }"
v-model="item.endTime" placeholder="开始时间"
:picker-options="{ :disabled="item.matterId != undefined"
start: '00:00', >
step: '00:30', </el-time-select>
end: '24:00', <span style="margin: 0 5px"></span>
minTime: item.startTime, <el-time-select
}" v-model="item.endTime"
placeholder="结束时间" :picker-options="{
:disabled="item.matterId != undefined" start: '00:00',
> step: '00:30',
</el-time-select> end: '24:00',
minTime: item.startTime,
<el-button }"
style="margin-left: 10px" placeholder="结束时间"
size="small" :disabled="item.matterId != undefined"
@click="handleDelStaff(index)" >
>删除</el-button </el-time-select>
> </div>
<div class="item-pic">
<el-upload
:disabled="item.matterId != undefined"
class="avatar-uploader"
:action="uploadUlr"
:data="{ customerId: customerId }"
:show-file-list="false"
:on-success="
(response, file, fileList) =>
handleImgSuccess(index, response, file, fileList)
"
:before-upload="beforeImgUpload"
>
<img
v-if="item.matterImg"
:src="item.matterImg"
style="width: 50px; height: 50px"
class="function-icon"
/>
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
<div class="hint">事项封面图片小于1M</div>
<el-button
style="margin-left: auto"
size="small"
@click="handleDelStaff(index)"
>删除</el-button
>
</div>
</div> </div>
<div class="item-add"> <div class="item-add">
<el-button size="small" @click="handleAddStaff">添加</el-button> <el-button size="small" type="warning" @click="handleAddStaff"
>添加</el-button
>
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
@ -266,6 +294,9 @@ let loading; // 加载动画
export default { export default {
data() { data() {
return { return {
uploadUlr: window.SITE_CONFIG["apiURL"] + "/oss/file/uploadqrcodeV2",
customerId: "",
formType: "add", // addeditdetail formType: "add", // addeditdetail
btnDisable: false, btnDisable: false,
@ -342,14 +373,39 @@ export default {
watch: {}, watch: {},
async mounted() { async mounted() {
this.customerId = localStorage.getItem("customerId");
this.initMap(); this.initMap();
}, },
methods: { methods: {
handleImgSuccess(index, res, file) {
if (res.code === 0 && res.msg === "success") {
console.log("res.data.url", res.data.url);
this.dataForm.matterList[index].matterImg = res.data.url;
} else {
this.$message.error(res.msg);
}
},
beforeImgUpload(file) {
const isLt1M = file.size / 1024 / 1024 < 1;
if (!isLt1M) {
this.$message.error("上传图片大小不能超过 1MB!");
}
return isLt1M;
},
handleAddStaff() { handleAddStaff() {
this.dataForm.matterList = [ this.dataForm.matterList = [
...this.dataForm.matterList, ...this.dataForm.matterList,
{ matterName: "", appointmentType: "", startTime: "", endTime: "" }, {
matterName: "",
appointmentType: "",
matterImg: "",
startTime: "",
endTime: "",
},
]; ];
}, },
handleDelStaff(index) { handleDelStaff(index) {
@ -482,9 +538,28 @@ export default {
this.dataForm.partyServiceCenterId = this.partyServiceCenterId; this.dataForm.partyServiceCenterId = this.partyServiceCenterId;
} }
const matterList = this.dataForm.matterList.filter(
(item) => !item.matterId
);
if (
matterList.some(
(item) =>
!item.matterImg ||
!item.matterName ||
!item.appointmentType ||
!item.startTime ||
!item.endTime
)
) {
return this.$message({
type: "warning",
message: "请补充完整可预约事项信息",
});
}
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
...this.dataForm, ...this.dataForm,
matterList: this.dataForm.matterList.filter((item) => !item.matterId), matterList,
}); });
if (code === 0) { if (code === 0) {
@ -580,9 +655,48 @@ export default {
width: 650px; width: 650px;
.item { .item {
display: flex; .item-info {
justify-content: space-around; display: flex;
margin-bottom: 7px; justify-content: space-around;
margin-bottom: 7px;
}
.item-pic {
display: flex;
align-items: center;
.hint {
font-size: 14px;
color: #999999;
margin-left: 10px;
}
.avatar-uploader {
::v-deep .el-upload {
cursor: pointer;
position: relative;
overflow: hidden;
}
img {
object-fit: cover;
}
.el-upload:hover {
border-color: #409eff;
}
.avatar {
width: 50px;
height: 50px;
display: block;
}
.avatar-uploader-icon {
border: 1px dashed #d9d9d9;
border-radius: 6px;
font-size: 28px;
color: #8c939d;
width: 50px;
height: 50px;
line-height: 50px;
text-align: center;
}
}
}
} }
.item-add { .item-add {
} }

136
src/views/modules/communityService/dqfwzx/cpts/order.vue

@ -31,13 +31,22 @@
label-width="150px" label-width="150px"
style="display: block" style="display: block"
> >
<el-date-picker <!-- <el-date-picker
v-model="dataForm.appointmentDate" v-model="dataForm.appointmentDate"
placeholder="预约日期" placeholder="预约日期"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
:picker-options="dateOptions" :picker-options="dateOptions"
> >
</el-date-picker> </el-date-picker> -->
<el-select v-model="dataForm.appointmentDate" placeholder="请选择">
<el-option
v-for="item in dateList"
:key="item"
:label="item"
:value="item"
>
</el-option
></el-select>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@ -47,18 +56,19 @@
label-width="150px" label-width="150px"
style="display: block" style="display: block"
> >
<el-checkbox-group <div style="margin-left: auto; width: 600px">
style="margin-left: auto; width: 600px"
v-model="dataForm.timeId"
>
<el-checkbox <el-checkbox
:label="item.timeId" :label="item.timeId"
:key="item.timeId" :key="item.timeId"
:disabled="!item.isAppointment" :disabled="!item.isAppointment"
v-for="item in timeList" v-for="(item, index) in timeList"
:checked="item.selected"
:value="item.selected"
@change="selectTime(index)"
@onChange="selectTime(index)"
>{{ item.time }}</el-checkbox >{{ item.time }}</el-checkbox
> >
</el-checkbox-group> </div>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
@ -128,7 +138,15 @@
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import { Loading } from "element-ui"; // Loading import { Loading } from "element-ui"; // Loading
import { requestPost } from "@/js/dai/request"; import { requestPost } from "@/js/dai/request";
import dateFormat from "dai-js/tools/dateFormat";
const deepClone = function (arg) {
if (typeof arg == "object" || typeof arg == "array") {
return JSON.parse(JSON.stringify(arg));
} else {
return arg;
}
};
var map; var map;
var search; var search;
var markers; var markers;
@ -154,6 +172,7 @@ export default {
); );
}, },
}, },
dateList: [],
timeList: [], timeList: [],
dataForm: { dataForm: {
@ -202,6 +221,100 @@ export default {
if (item) { if (item) {
this.dataForm.matterId = item.matterId; this.dataForm.matterId = item.matterId;
this.info.matterName = item.matterName; this.info.matterName = item.matterName;
this.getDateList();
}
},
selectTime(index) {
// return console.log(index);
let list = deepClone(this.timeList);
if (!list[index].isAppointment) return false;
let startIndex = list.findIndex((item) => item.selected);
let endIndex = list.findIndex((item, index) => {
return (
item.selected &&
(index == list.length - 1 || !list[index + 1].selected)
);
});
// console.log(startIndex, endIndex);
if (startIndex == -1) {
list[index].selected = !list[index].selected;
} else if (startIndex == endIndex) {
let big = Math.max(startIndex, index);
let little = Math.min(startIndex, index);
if (big == little) {
list[index].selected = !list[index].selected;
} else {
for (let i = little; i <= big; i++) {
// console.log(i);
if (!list[i].isAppointment) {
this.$message({
type: "warning",
message: "请选择连续的时间",
});
return false;
}
list[i].selected = true;
}
}
} else {
if (index == startIndex || index == endIndex) {
list[index].selected = !list[index].selected;
} else if (list[index].selected) {
let big = index;
let little = index;
if (startIndex - index < index - endIndex) {
big = endIndex;
} else {
little = startIndex;
}
for (let i = little; i <= big; i++) {
list[i].selected = false;
}
} else {
let big = index;
let little = index;
if (index < startIndex) {
big = startIndex;
} else {
little = endIndex;
}
for (let i = little; i <= big; i++) {
// console.log(i);
if (!list[i].isAppointment) {
this.$message({
type: "warning",
message: "请选择连续的时间",
});
return false;
}
list[i].selected = true;
}
}
}
console.log(list);
this.timeList = list;
return false;
},
async getDateList() {
let url = "/gov/org/icpartyservicecenter/appointmenttime";
const {
dataForm: { matterId },
} = this;
if (!matterId) return;
const { data, code, msg } = await requestPost(url, {
matterId,
date: dateFormat(new Date(), "yyyy-MM-dd"),
});
if (code === 0) {
this.dateList = data.dateList || [];
// this.dataForm.appointmentDate = data.dateList[0];
} else {
} }
}, },
@ -219,8 +332,11 @@ export default {
}); });
if (code === 0) { if (code === 0) {
this.timeList = data.timeDetail || []; let timeList = data.timeDetail || [];
} else { this.timeList = timeList.map((item) => {
item.selected = false;
return item;
});
} }
}, },

12
src/views/modules/communityService/dqfwzx/index.vue

@ -191,9 +191,7 @@ export default {
}, },
async mounted() { async mounted() {
await this.loadAgency(); await this.loadAgency();
await this.getTableData(); // await this.getTableData();
this.initMap();
this.setMap();
}, },
methods: { methods: {
// init // init
@ -324,6 +322,7 @@ export default {
}, },
async getTableData() { async getTableData() {
const oldLen = this.tableData.length;
const url = "/gov/org/icpartyservicecenter/partyservicecenterlist"; const url = "/gov/org/icpartyservicecenter/partyservicecenterlist";
const { data, code, msg } = await requestPost(url, { const { data, code, msg } = await requestPost(url, {
orgId: this.agencyId, orgId: this.agencyId,
@ -333,7 +332,12 @@ export default {
console.log("列表请求成功!!!!!!!!!!!!!!"); console.log("列表请求成功!!!!!!!!!!!!!!");
this.tableData = data; this.tableData = data;
} else {
if (data.length > 0 && oldLen == 0) {
await nextTick(100);
this.initMap();
this.setMap();
}
} }
}, },

103
src/views/modules/communityService/measure/index.vue

@ -137,32 +137,45 @@
size="small" size="small"
@click="handleAppoint(scope.row, 'appoint')" @click="handleAppoint(scope.row, 'appoint')"
>指派</el-button> >指派</el-button>
<el-button <!-- v-if="scope.row.status === 'assigned' || scope.row.status === 'have_order'" -->
v-if="scope.row.status === 'assigned' || scope.row.status === 'have_order'" <template v-if="(scope.row.reportType == 'self_help' && scope.row.serviceShowFlag)">
type="text" <el-button
size="small" v-if="scope.row.serviceType !== 'volunteer' && scope.row.status !== 'finished'"
@click="handleFinish(scope.row, 'finish')"
>完成情况</el-button>
<el-button
v-if="scope.row.status === 'pending'"
@click="handleEdit(scope.row, 'edit')"
type="text" type="text"
size="small" size="small"
class="btn-color-edit" @click="handleFinish(scope.row, 'finish')"
>编辑</el-button> >完成情况</el-button>
<el-popconfirm </template>
title="取消之后无法恢复,确认取消?" <template v-else>
@onConfirm="handleDel(scope.row)"
>
<el-button <el-button
v-if="scope.row.status !== 'finished' && scope.row.status !== 'canceled'" v-if="scope.row.status === 'assigned' || scope.row.status === 'have_order' || (scope.row.status == 'finished' && !scope.row.evaluateFlag)"
slot="reference"
type="text" type="text"
size="small" size="small"
class="btn-color-del" @click="handleFinish(scope.row, 'finish')"
>取消</el-button >完成情况</el-button>
</template>
<template v-if="scope.row.reportType != 'self_help'">
<el-button
v-if="scope.row.status === 'pending'"
@click="handleEdit(scope.row, 'edit')"
type="text"
size="small"
class="btn-color-edit"
>编辑</el-button>
<el-popconfirm
title="取消之后无法恢复,确认取消?"
@onConfirm="handleDel(scope.row)"
> >
</el-popconfirm> <el-button
v-if="scope.row.status !== 'finished' && scope.row.status !== 'canceled'"
slot="reference"
type="text"
size="small"
class="btn-color-del"
>取消</el-button
>
</el-popconfirm>
</template>
</template> </template>
<el-button <el-button
@click="handleLook(scope.row, 'look')" @click="handleLook(scope.row, 'look')"
@ -340,13 +353,9 @@
<el-form-item v-if="addType == 'look' && form.status == 'canceled'" label="取消时间" prop="cancelTime"> <el-form-item v-if="addType == 'look' && form.status == 'canceled'" label="取消时间" prop="cancelTime">
<span>{{ form.cancelTime }}</span> <span>{{ form.cancelTime }}</span>
</el-form-item> </el-form-item>
<template v-if="addType == 'finish' || (addType == 'look' && form.status == 'finished')"> <template
<el-form-item label="完成情况" prop="finishResult"> v-if="(addType == 'finish' && form.reportType != 'self_help') || (addType == 'look' && form.status == 'finished')">
<el-radio v-model="form.finishResult"
label="resolved" :disabled="disabled && addType != 'finish'" >已解决</el-radio>
<el-radio v-model="form.finishResult" label="unresolved"
:disabled="disabled && addType != 'finish'" >未解决</el-radio>
</el-form-item>
<el-form-item label="实际服务时间" prop="serviceStartTime"> <el-form-item label="实际服务时间" prop="serviceStartTime">
<el-date-picker <el-date-picker
v-model="finishServiceTime" v-model="finishServiceTime"
@ -362,6 +371,12 @@
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="完成情况" prop="finishResult">
<el-radio v-model="form.finishResult"
label="resolved" :disabled="disabled && addType != 'finish'" >已解决</el-radio>
<el-radio v-model="form.finishResult" label="unresolved"
:disabled="disabled && addType != 'finish'" >未解决</el-radio>
</el-form-item>
<el-form-item label="评价" prop="score" class="form-score"> <el-form-item label="评价" prop="score" class="form-score">
<el-rate v-model="form.score" :allow-half="true" :disabled="disabled && addType != 'finish'" ></el-rate> <el-rate v-model="form.score" :allow-half="true" :disabled="disabled && addType != 'finish'" ></el-rate>
</el-form-item> </el-form-item>
@ -373,7 +388,24 @@
class="input-width-textarea" placeholder="请输入内容"></el-input> class="input-width-textarea" placeholder="请输入内容"></el-input>
</el-form-item> </el-form-item>
</template> </template>
<template v-if="(addType == 'finish' && form.reportType == 'self_help')">
<el-form-item label="实际服务时间" prop="serviceStartTime">
<el-date-picker
v-model="finishServiceTime"
class="input-width-min"
clearable
:disabled="disabled && addType != 'finish'"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
@change="handelBlurServiceTime"
>
</el-date-picker>
</el-form-item>
</template>
</el-form> </el-form>
<div class="resi-btns"> <div class="resi-btns">
<el-button size="small" @click="handlerCancle">{{ addType != 'look' ? '取消' : '关闭'}}</el-button> <el-button size="small" @click="handlerCancle">{{ addType != 'look' ? '取消' : '关闭'}}</el-button>
@ -738,7 +770,10 @@ export default {
this.finishServiceTime = row.serviceStartTime && [row.serviceStartTime, row.serviceEndTime] || '' this.finishServiceTime = row.serviceStartTime && [row.serviceStartTime, row.serviceEndTime] || ''
} }
if (addType == 'finish') { if (addType == 'finish') {
if (row.serviceStartTime) this.finishServiceTime = [row.serviceStartTime, row.serviceEndTime]
this.form.finishResult = 'resolved' this.form.finishResult = 'resolved'
this.form.score = 5
} }
if (addType == 'appoint' && row.serviceType) { if (addType == 'appoint' && row.serviceType) {
await this.getServiceuserList(row.serviceType) await this.getServiceuserList(row.serviceType)
@ -819,14 +854,15 @@ export default {
this.btnLoading = false this.btnLoading = false
}, },
async finishAjax() { async finishAjax() {
const { reportType, serviceShowFlag, serviceType } = this.form
const _form = { const _form = {
demandRecId: this.form.demandRecId, demandRecId: this.form.demandRecId,
serviceStartTime: this.form.serviceStartTime, serviceStartTime: this.form.serviceStartTime,
serviceEndTime: this.form.serviceEndTime, serviceEndTime: this.form.serviceEndTime,
finishResult: this.form.finishResult, finishResult: reportType == 'self_help' ? '' : this.form.finishResult,
finishDesc: this.form.finishDesc, finishDesc: reportType == 'self_help' ? '' : this.form.finishDesc,
serviceId: this.form.serviceId, serviceId: this.form.serviceId,
score: this.form.score score: reportType == 'self_help' ? 0 : this.form.score
} }
await this.$http await this.$http
.post('/heart/userdemand/finish', _form) .post('/heart/userdemand/finish', _form)
@ -998,6 +1034,7 @@ export default {
}, },
async getServiceuserList(serviceType, query) { async getServiceuserList(serviceType, query) {
if (!serviceType) return false if (!serviceType) return false
const { demandUserId } = this.form
const params = { const params = {
serviceName: '', serviceName: '',
serviceType: serviceType, serviceType: serviceType,
@ -1009,7 +1046,7 @@ export default {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} else { } else {
this.serviceOptiondList = res.data this.serviceOptiondList = res.data.filter(item => item.value != demandUserId)
} }
}) })
.catch(() => { .catch(() => {
@ -1035,7 +1072,7 @@ export default {
if (res.code !== 0) { if (res.code !== 0) {
return this.$message.error(res.msg) return this.$message.error(res.msg)
} else { } else {
this.reportOptions = res.data this.reportOptions = res.data && res.data.filter(item => item.value != 'self_help')
} }
}) })
.catch(() => { .catch(() => {

6
src/views/modules/visual/basicinfo/basicInfoMain.vue

@ -549,11 +549,11 @@ const vueGis = {
// //
setZoom (agencyLevel) { setZoom (agencyLevel) {
if (agencyLevel === 'district') { if (agencyLevel === 'district') {
this.zoom = 14 this.zoom = 12
} else if (agencyLevel === 'street') { } else if (agencyLevel === 'street') {
this.zoom = 15 this.zoom = 13
} else if (agencyLevel === 'community') { } else if (agencyLevel === 'community') {
this.zoom = 16 this.zoom = 14
} }
}, },

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

@ -23,7 +23,7 @@
<span>{{ info.issueSuggestion }}</span> <span>{{ info.issueSuggestion }}</span>
</div> </div>
<div class="info-prop"> <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 +43,7 @@
<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"> <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 +51,11 @@
<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"> <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"> <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>

239
src/views/modules/visual/communityGovern/distributionAnalyze.vue

@ -4,31 +4,32 @@
<div class="card-title"> <div class="card-title">
<img src="@/assets/img/shuju/title-tip.png" /> <img src="@/assets/img/shuju/title-tip.png" />
<span>项目分布分析</span> <span>项目分布分析</span>
</div>
<div class="second-title">
<div class="second-title-label">不同事件类别在不同时间段的变化和分布</div>
<div class="second-select cascader">
<el-cascader class="customer_cascader"
ref="myCascader"
v-model="agencyIdArray"
:key="iscascaderShow"
:options="casOptions"
:props="optionProps"
:show-all-levels="false"
@change="handleChangeAgency"></el-cascader>
</div>
<div class="second-select">
<el-date-picker v-model="timeRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
prefix-icon="el-icon-caret-bottom"
value-format="yyyy-MM-dd"
@change="handleSelectChange">
</el-date-picker>
<div class="second-title">
<div class="second-select cascader">
<el-cascader class="customer_cascader"
ref="myCascader"
v-model="agencyIdArray"
:key="iscascaderShow"
:options="casOptions"
:props="optionProps"
:show-all-levels="false"
@change="handleChangeAgency"></el-cascader>
</div>
<div class="second-select">
<el-date-picker v-model="timeRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
prefix-icon="el-icon-caret-bottom"
value-format="yyyy-MM-dd"
@change="handleSelectChange">
</el-date-picker>
</div>
</div> </div>
</div> </div>
@ -36,19 +37,21 @@
<div class="g-cpt-resi"> <div class="g-cpt-resi">
<div class="g-l"> <div class="g-l">
<screen-echarts-frame class="echart-line" <screen-echarts-frame v-if="!showNoData"
class="echart-line"
@myChartMethod="lineInitOk" @myChartMethod="lineInitOk"
ref="lineChart"></screen-echarts-frame> ref="lineChart"></screen-echarts-frame>
<div v-else
class="echart-line">
<img src="../../../../assets/img/modules/visual/noData.png" />
</div>
<!-- <div class="table-status" <!-- <div class="table-status"
v-if="loading"> v-if="loading">
<screen-loading>加载中</screen-loading> <screen-loading>加载中</screen-loading>
</div> </div>
<div class="table-status" <div class="table-status"
v-if="lineList.length == 0 && !loading"> v-if="lineList.length == 0 && !loading">
<div class="no-data">
<img src="../../../../assets/img/modules/visual/noData.png"
class="no-data-img" />
</div>
</div> --> </div> -->
</div> </div>
@ -208,6 +211,7 @@ export default {
await this.getAgencylist()// await this.getAgencylist()//
await nextTick(500) await nextTick(500)
await this.loadOrgData() await this.loadOrgData()
await this.getApiData(); await this.getApiData();
}, },
@ -237,6 +241,15 @@ export default {
if (month2 < 10) { if (month2 < 10) {
month2 = '0' + month2; month2 = '0' + month2;
} }
if (month < 10) {
month = '0' + month;
}
if (day < 10) {
day = '0' + day;
}
if (day2 < 10) {
day2 = '0' + day2;
}
var t2 = year2 + '-' + month2 + '-' + day2; var t2 = year2 + '-' + month2 + '-' + day2;
var t1 = year + '-' + month + '-' + day; var t1 = year + '-' + month + '-' + day;
// let t3 = formate(t2, style); // let t3 = formate(t2, style);
@ -250,9 +263,19 @@ export default {
}, },
async getApiData () { async getApiData () {
await this.getLineChart()
await this.getLine()
await this.loadMapData(); await this.loadMapData();
this.assignData()
},
assignData () {
if (!this.showNoData) {
this.getLine()
}
this.loadMap()
this.isfirstInit = false
}, },
// //
@ -349,18 +372,19 @@ export default {
const { data, code, msg } = await requestPost(url, params); const { data, code, msg } = await requestPost(url, params);
if (code === 0) { if (code === 0) {
this.legendArray = [] this.legendArray = []
if (data.above) { if (data.under === 0 || data.under) {
this.under = data.under this.under = data.under
this.legendArray.push( this.legendArray.push(
{ {
color: this.colorArray[0], color: this.colorArray[0],
name: data.under + '以下' name: data.under + '以下'
} }
) )
} }
if (data.above) { if (data.above === 0 || data.above) {
this.above = data.above this.above = data.above
this.legendArray.push( this.legendArray.push(
{ {
@ -371,7 +395,7 @@ export default {
this.legendArray.push( this.legendArray.push(
{ {
color: this.colorArray[2], color: this.colorArray[2],
name: data.above + '以上' name: data.above + '以上'
} }
) )
} }
@ -392,21 +416,22 @@ export default {
item.latitude = agencyItem.latitude item.latitude = agencyItem.latitude
item.coordinates = agencyItem.coordinates item.coordinates = agencyItem.coordinates
if (this.under) { if (this.under === 0 || this.under) {
if (item.count < this.under || item.count === this.under) { if (item.count < this.under || item.count === this.under) {
item.color = this.colorArray[0] item.color = this.colorArray[0]
item.fillColor = this.colorFillArray[0] item.fillColor = this.colorFillArray[0]
} } else {
if (this.above === 0 || this.above) {
if (this.above) { if (item.count > this.under && item.count < this.above) {
if (item.count > this.under && item.count < this.above) { item.color = this.colorArray[1]
item.color = this.colorArray[1] item.fillColor = this.colorFillArray[1]
item.fillColor = this.colorFillArray[1] } else {
} else { item.color = this.colorArray[2]
item.color = this.colorArray[2] item.fillColor = this.colorFillArray[2]
item.fillColor = this.colorFillArray[2] }
} }
} }
} }
break break
} }
@ -416,8 +441,7 @@ export default {
}); });
console.log(this.mapList) console.log(this.mapList)
this.loadMap()
this.isfirstInit = false
} else { } else {
this.$message.error(msg); this.$message.error(msg);
@ -442,7 +466,7 @@ export default {
}, },
getLine () { getLine () {
if (this.lineInitState) { if (this.lineInitState) {
this.getLineChart() this.assignLineChart()
} else { } else {
setTimeout(() => { setTimeout(() => {
this.getLine() this.getLine()
@ -451,9 +475,13 @@ export default {
}, },
// 线 // 线
async getLineChart () { async getLineChart () {
this.$refs.lineChart.clear() if (!this.showNoData) {
this.$refs.lineChart.clear()
this.$refs.lineChart.showLoading()
}
const _that = this const _that = this
this.$refs.lineChart.showLoading()
const url = "/gov/project/project/projectdistributionanalysisleft"; const url = "/gov/project/project/projectdistributionanalysisleft";
// const url = "http://yapi.elinkservice.cn/mock/245/gov/project/project/projectdistributionanalysisleft"; // const url = "http://yapi.elinkservice.cn/mock/245/gov/project/project/projectdistributionanalysisleft";
let params = { let params = {
@ -463,28 +491,20 @@ export default {
}; };
const { data, code, msg } = await requestPost(url, params); const { data, code, msg } = await requestPost(url, params);
this.$refs.lineChart.hideLoading() if (!this.showNoData) {
this.$refs.lineChart.hideLoading()
}
if (code === 0) { if (code === 0) {
// pieChart
this.lineOption = lineOption()
if (data && data.length > 0) { if (data && data.length > 0) {
this.lineList = data this.lineList = data
this.loadCategoryData() this.showNoData = false
this.$refs.lineChart.setOption(this.lineOption, true)
this.$refs.lineChart.setOption({
xAxis: { data: this.xaxis },
legend: { data: this.legend },
series: this.series
}, true)
} else { } else {
this.lineList = [] this.lineList = []
this.showNoData = true
} }
this.loadCategoryData()
} else { } else {
this.$message.error(msg); this.$message.error(msg);
@ -492,60 +512,75 @@ export default {
}, },
assignLineChart () {
// pieChart
this.lineOption = lineOption()
this.$refs.lineChart.setOption(this.lineOption, true)
this.$refs.lineChart.setOption({
xAxis: { data: this.xaxis },
legend: { data: this.legend },
series: this.series
}, true)
},
//线 //线
loadCategoryData () { loadCategoryData () {
this.xaxis = [] this.xaxis = []
this.series = [] this.series = []
this.legend = [] this.legend = []
let num = this.lineList[0].categoryList.length if (this.lineList.length > 0) {
let dataArray = new Array(num)
//
this.lineList[0].categoryList.forEach((categoryItem, index) => {
this.legend.push(categoryItem.categoryName)
dataArray[index] = []
}); let num = this.lineList[0].categoryList.length
//
this.lineList.forEach(item => {
this.xaxis.push(item.time)
let dataArray = new Array(num)
// //
item.categoryList.forEach((categoryItem, index) => { this.lineList[0].categoryList.forEach((categoryItem, index) => {
dataArray[index].push(categoryItem.count) this.legend.push(categoryItem.categoryName)
dataArray[index] = []
}); });
});
//
this.lineList[0].categoryList.forEach((categoryItem, index) => {
let object = {
name: categoryItem.categoryName,
type: 'line',
smooth: true,
barWidth: 15,
areaStyle: {},
itemStyle: {
color: new echarts.graphic.LinearGradient(
0, 1, 0, 0,
[
{ offset: 0, color: 'rgba(121, 55, 255, 0)' },
{ offset: 1, color: categoryItem.color }
]
)
},
data: dataArray[index]
}
this.series.push(object) //
this.lineList.forEach(item => {
this.xaxis.push(item.time)
//
item.categoryList.forEach((categoryItem, index) => {
dataArray[index].push(categoryItem.count)
});
}); });
//
this.lineList[0].categoryList.forEach((categoryItem, index) => {
let object = {
name: categoryItem.categoryName,
type: 'line',
smooth: true,
barWidth: 15,
areaStyle: {},
itemStyle: {
color: new echarts.graphic.LinearGradient(
0, 1, 0, 0,
[
{ offset: 0, color: 'rgba(121, 55, 255, 0)' },
{ offset: 1, color: categoryItem.color }
]
)
},
data: dataArray[index]
}
this.series.push(object)
});
}
}, },
handleChangeAgency (value) { handleChangeAgency (value) {

3
src/views/modules/visual/communityGovern/processAnalyze.vue

@ -424,7 +424,8 @@ export default {
loadMap () { loadMap () {
if (this.isfirstInit) { if (this.isfirstInit) {
//mapInfo, polygonArray, polIconUrlArray, iconArrays, iconUrlArray //mapInfo, polygonArray, polIconUrlArray, iconArrays, iconUrlArray
this.$refs.map.loadMap(this.agencyInfo, null, null, this.projectList, this.iconUrlArray, this.iconTextStyle, 3000) // this.$refs.map.loadMap(this.agencyInfo, null, null, this.projectList, this.iconUrlArray, this.iconTextStyle, 3000)
this.$refs.map.loadMap(this.agencyInfo, null, null, this.projectList, this.iconUrlArray, this.iconTextStyle)
} else { } else {
this.$refs.map.refreshMap(null, this.projectList) this.$refs.map.refreshMap(null, this.projectList)
} }

11
src/views/modules/visual/communityGovern/resibuzz.vue

@ -279,6 +279,7 @@ export default {
let params = { let params = {
orgId: this.orgId, orgId: this.orgId,
orgType: this.orgType, orgType: this.orgType,
status: this.status,
}; };
@ -405,8 +406,10 @@ export default {
}, },
handleChangeState (index) { async handleChangeState (index) {
this.getTable() await this.getApiData()
this.assignPieChart()
}, },
async handleChangeAgency (value) { async handleChangeAgency (value) {
@ -454,8 +457,8 @@ export default {
item.createdTime ? item.createdTime : '', item.createdTime ? item.createdTime : '',
item.issueOriginator ? item.issueOriginator : '', item.issueOriginator ? item.issueOriginator : '',
item.voteAccount ? item.voteAccount : '', item.voteAccount ? item.voteAccount : '',
item.supportCount ? item.supportCount : '', item.supportCount ? item.supportCount : 0,
item.oppositionCount ? item.oppositionCount : '', item.oppositionCount ? item.oppositionCount : 0,
{ type: "operate", list: ["查看"] }, { type: "operate", list: ["查看"] },
]; ];
}); });

13
src/views/modules/visual/communityGovern/typeAnalyze.vue

@ -2,7 +2,7 @@
<cpt-card> <cpt-card>
<div class="title"> <div class="title">
<img src="@/assets/img/shuju/title-tip.png" /> <img src="@/assets/img/shuju/title-tip.png" />
<span>事件分类分析</span> <span>项目分类分析</span>
<div class="second-select cascader"> <div class="second-select cascader">
@ -123,10 +123,7 @@ export default {
align: "center", align: "center",
width: "5%", width: "5%",
}, },
{
align: "center",
width: "10%",
},
{ {
align: "center", align: "center",
width: "10%", width: "10%",
@ -145,7 +142,7 @@ export default {
}, },
{ {
align: "center", align: "center",
width: "20%", width: "30%",
}, },
{ {
align: "center", align: "center",
@ -156,7 +153,7 @@ export default {
width: "10%", width: "10%",
}, },
], ],
header: ["序号", "项目编号", "类别", "反映渠道", "所属网格", "状态", "项目标题", "转成项目时间", "操作"], header: ["序号", "类别", "反映渠道", "所属网格", "状态", "项目标题", "转成项目时间", "操作"],
list: [], list: [],
pageSize: 10, pageSize: 10,
pageNo: 1, pageNo: 1,
@ -427,7 +424,7 @@ export default {
item.statusShow = item.status === 'pending' ? '待处理' : '已结案' item.statusShow = item.status === 'pending' ? '待处理' : '已结案'
return [ return [
{ type: "index" }, { type: "index" },
item.projectCode ? item.projectCode : '', // item.projectCode ? item.projectCode : '',
item.categoryNames.join(','), item.categoryNames.join(','),
item.originShow ? item.originShow : '', item.originShow ? item.originShow : '',
item.gridName ? item.gridName : '', item.gridName ? item.gridName : '',

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

@ -6,13 +6,20 @@
src="../../../../assets/img/shuju/title-tip.png" /> src="../../../../assets/img/shuju/title-tip.png" />
<div class="title-label"> <div class="title-label">
区域化党建 区域化党建
<el-cascader
v-model="selectAgency"
:options="propTree"
:props="{ checkStrictly: true }"
:show-all-levels="false"
clearable
@change="handleCascader">
</el-cascader>
</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 class="second-select"> <div class="second-select">
<el-select v-model="serviceMatter" <el-select v-model="serviceMatter"
clearable
placeholder="请选择" placeholder="请选择"
@change="handleSelectChange" @change="handleSelectChange"
@clear="handleSelectChange"> @clear="handleSelectChange">
@ -31,6 +38,7 @@
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"
:default-time="['00:00:00', '23:59:59']" :default-time="['00:00:00', '23:59:59']"
> >
</el-date-picker> </el-date-picker>
@ -135,7 +143,7 @@ export default {
{ title: "区域化党建单位名称", coulmn: 'unitName' }, { title: "区域化党建单位名称", coulmn: 'unitName' },
{ title: "活动标题", coulmn: 'title' }, { title: "活动标题", coulmn: 'title' },
{ title: "活动地址", coulmn: 'address' }, { title: "活动地址", coulmn: 'address' },
{ title: "服务事项", coulmn: 'serviceMatter' }, { title: "服务事项", coulmn: 'serviceMatterName' },
{ title: "服务人数", coulmn: 'peopleCount' }, { title: "服务人数", coulmn: 'peopleCount' },
{ title: "活动时间", coulmn: 'activityTime' } { title: "活动时间", coulmn: 'activityTime' }
], ],
@ -147,13 +155,15 @@ export default {
value2: '', value2: '',
timeRange: '', timeRange: '',
visibleLoading: true, visibleLoading: true,
serviceMatter: '', serviceMatter: 'all',
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
total: 0, total: 0,
activeIndex: 0, activeIndex: 0,
activeLevel: "1", activeLevel: "1",
selectAgency: '',
unitList: [], unitList: [],
propTree: [],
partyItem: [ partyItem: [
{ {
name: '楼宇党建', name: '楼宇党建',
@ -231,33 +241,37 @@ export default {
async mounted () { async mounted () {
const { user } = this.$store.state const { user } = this.$store.state
this.agencyId = user.agencyId this.agencyId = user.agencyId
console.log('agencyId-------', this.agencyId)
this.initTime()
await nextTick(100); await nextTick(100);
await this.getAgencyList()
this.loadUnit() this.loadUnit()
this.getList(); this.getList(this.agencyId)
this.getCateCount() this.getCateCount(this.agencyId)
this.getCateType() this.getCateType(this.agencyId)
await this.getWorkUserInfo() await this.getWorkUserInfo()
await this.getMapUnitList() await this.getMapUnitList(this.agencyId)
}, },
watch: { watch: {
timeRange(val) { timeRange(val) {
console.log('val-www', val) console.log('val-www', val)
this.getList(); this.getList(this.agencyId);
} }
}, },
methods: { methods: {
// //
async getList () { async getList (agencyId) {
this.visibleLoading = true this.visibleLoading = true
const url = "/heart/icpartyactivity/activitylist" const url = "/heart/icpartyactivity/activitylist"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list" // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list"
let params = { let params = {
agencyId: this.agencyId, agencyId,
pageSize: this.pageSize, pageSize: this.pageSize,
pageNo: this.pageNo, pageNo: this.pageNo,
serviceMatter: this.serviceMatter, serviceMatter: this.serviceMatter == 'all' ? '' : this.serviceMatter,
startTime: this.timeRange && this.timeRange[0] || '', startTime: this.timeRange && this.timeRange[0] || '',
endTime: this.timeRange && this.timeRange[1] || '' endTime: this.timeRange && this.timeRange[1] || ''
} }
@ -277,12 +291,61 @@ export default {
} }
this.visibleLoading = false this.visibleLoading = false
}, },
async getCateCount () { async getAgencyList() {
// const url = "/gov/org/customeragency/staffinagencylist";
// const url = '/gov/org/customeragency/agencygridtree'
const url = '/gov/org/customeragency/staffinagencylist'
// let params = {
// agencyId: this.$store.state.user.agencyId,
// };
const { data, code, msg } = await requestPost(url);
if (code === 0) {
console.log('data-org----o', data)
let { agencyList, subAgencyList } = data
this.selectAgency = [`${agencyList.agencyId}-${agencyList.level}`]
let arr = []
agencyList.subAgencyList = subAgencyList
arr.push(agencyList)
this.propTree = arr && this.getTreeData(arr)
} else {
this.$message.error(msg)
}
},
getTreeData(data){
if (!Array.isArray(data)) return []
let arr = data.map(item => {
let _item = {}
if (item.subAgencyList) {
if (item.subAgencyList.length === 0) {
_item = {
label: item.agencyName,
value: item.agencyId + '-' + item.level,
level: item.level,
children: undefined
}
} else _item = {
label: item.agencyName,
value: item.agencyId + '-' + item.level,
level: item.level,
children: this.getTreeData(item.subAgencyList)}
} else {
_item = {
label: item.agencyName,
value: item.agencyId + '-' + item.level,
level: item.level,
}
}
return _item
})
return arr
},
async getCateCount (agencyId) {
const url = "/heart/icpartyactivity/statistics" const url = "/heart/icpartyactivity/statistics"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list" // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list"
let params = { let params = {
agencyId: this.agencyId agencyId
} }
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params)
@ -293,12 +356,12 @@ export default {
this.$message.error(msg) this.$message.error(msg)
} }
}, },
async getCateType () { async getCateType (agencyId) {
const url = "/heart/icpartyunit/typestatistics" const url = "/heart/icpartyunit/typestatistics"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list" // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list"
let params = { let params = {
agencyId: this.agencyId agencyId
} }
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params)
@ -352,7 +415,37 @@ export default {
this.$message.error(msg) this.$message.error(msg)
} }
}, },
handleCascader(val) {
console.log('val-vvv', val)
if (val.length > 0) {
const _arr = val[val.length - 1].split('-')
const orgType = _arr[1] !== 'grid' ? 'agency': 'grid'
this.getList(_arr[0])
this.getMapUnitList(_arr[0])
this.getCateCount(_arr[0])
this.getCateType(_arr[0])
}
},
initTime() {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
console.log('time-rtt', this.timeFormat(start), this.timeFormat(end))
this.timeRange = [this.timeFormat(start), this.timeFormat(end)]
},
timeFormat(date) {
if (!date || typeof date === 'string') {
return false
}
var y = date.getFullYear() //
var m = date.getMonth() + 1 //
if (m < 10) m = '0' + m
var d = date.getDate() //
if (d < 10) d = '0' + d
return y + '-' + m + '-' + d + ' 00:00:00'
},
async loadUnit () { async loadUnit () {
const url = "/heart/icresidemanddict/subcodelist" const url = "/heart/icresidemanddict/subcodelist"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/option" // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/option"
@ -365,7 +458,10 @@ export default {
if (code === 0) { if (code === 0) {
this.unitList = data this.unitList = data
this.unitList.unshift({
label: '全部',
value: 'all'
})
} else { } else {
this.$message.error(msg) this.$message.error(msg)
} }
@ -419,27 +515,33 @@ export default {
// }, // },
// //
async getMapUnitList () { async getMapUnitList (agencyId) {
const url = "/heart/icpartyunit/distribution" const url = "/heart/icpartyunit/distribution"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/distribution" // const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/distribution"
let params = { let params = {
agencyId: this.agencyId agencyId
} }
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params)
if (code === 0) { if (code === 0) {
// this.unitMapList = data console.log('unitMapList----data', data)
this.unitMapList = this.unitMapList1 this.unitMapList = data.map((item, index) => {
return {
...item,
urlIndex: index
}
})
// this.unitMapList = this.unitMapList1
console.log('unitMapList----', this.unitMapList)
this.unitMapList.forEach(item => { this.unitMapList.forEach(item => {
if (item.type === '党建楼宇') { if (item.type === '楼宇党建') {
item.urlIndex = 0 item.urlIndex = 0
} else if (item.type === '两新党建') { } else if (item.type === '两新组织') {
item.urlIndex = 1 item.urlIndex = 1
} else if (item.type === '区单位') { } else if (item.type === '区单位党建') {
item.urlIndex = 2 item.urlIndex = 2
} else if (item.type === '机关直属部门') { } else if (item.type === '机关直属部门') {
item.urlIndex = 3 item.urlIndex = 3
@ -492,7 +594,7 @@ export default {
this.showedMoreInfo = true this.showedMoreInfo = true
}, },
handleSelectChange () { handleSelectChange (val) {
this.getList(); this.getList();
}, },
pageSizeChangeHandleNew (val) { pageSizeChangeHandleNew (val) {
@ -562,8 +664,22 @@ export default {
margin-right: 6px; margin-right: 6px;
} }
.title-label { .title-label {
font-size: 16px; font-size: 20px;
font-weight: 800; font-weight: 800;
::v-deep .el-input {
width: 180px;
margin-left: 10px;
.el-input__inner {
font-size: 18px;
font-weight: 800;
color: #fff;
background: transparent;
border: 0;
}
.el-icon-arrow-down::before {
content: "\e790";
}
}
} }
::v-deep .el-dropdown { ::v-deep .el-dropdown {
font-size: 16px; font-size: 16px;

80
src/views/modules/visual/communityParty/party.vue

@ -40,7 +40,7 @@
<div class="echarts-tips echarts-tips-wd50"> <div class="echarts-tips echarts-tips-wd50">
<div class="tips-lists"> <div class="tips-lists">
<div v-for="(item, index) in ageItem" :key="index" class="tips-items"> <div v-for="(item, index) in ageItem" :key="index" class="tips-items">
<div class="tips-items-title" :class="'tips-items-title' + item.value"> <div class="tips-items-title" :class="'tips-items-title' + item.code">
{{ item.name }} {{ item.name }}
</div> </div>
<div class="tips-items-num"> <div class="tips-items-num">
@ -59,6 +59,7 @@
:tableData="ageList" :tableData="ageList"
:visibleLoading="visibleLoading" :visibleLoading="visibleLoading"
:operate="false" :operate="false"
@row="handleClickRow"
></screen-table> ></screen-table>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination
@ -100,6 +101,7 @@
:tableData="eduList" :tableData="eduList"
:visibleLoading="visibleLoading" :visibleLoading="visibleLoading"
:operate="false" :operate="false"
@row="handleClickRow"
></screen-table> ></screen-table>
<div class="pagination"> <div class="pagination">
<el-pagination <el-pagination
@ -323,7 +325,7 @@ export default {
this.clickEduPie(params.dataIndex) this.clickEduPie(params.dataIndex)
} }
this.$refs.eduChart.handleClick(fun) this.$refs.eduChart.handleClick(fun)
this.noInit = true // this.noInit = true
// option && this.$refs.pieChart.setOption(option); // option && this.$refs.pieChart.setOption(option);
}, },
@ -454,9 +456,18 @@ export default {
}, },
clickAgePie (seriesIndex) { clickAgePie (seriesIndex) {
let _code = '' let _code = ''
let isClick = false
console.log('seriesIndex---', seriesIndex)
this.ageItem.forEach((element, index) => { this.ageItem.forEach((element, index) => {
if (index === seriesIndex) { if (index === seriesIndex) {
_code = element.code _code = element.code
if (!this.noInit) isClick = false
else {
element.isClick = !element.isClick
isClick = element.isClick
}
element.label = { element.label = {
show: true, show: true,
@ -470,6 +481,7 @@ export default {
}; };
console.log('zlcm', element) console.log('zlcm', element)
} else { } else {
element.isClick = false
element.label = { element.label = {
show: false, show: false,
@ -492,16 +504,25 @@ export default {
if (this.noInit) { if (this.noInit) {
const _arr = this.selectAgency[this.selectAgency.length - 1].split('-') const _arr = this.selectAgency[this.selectAgency.length - 1].split('-')
const orgType = _arr[1] !== 'grid' ? 'agency': 'grid' const orgType = _arr[1] !== 'grid' ? 'agency': 'grid'
this.getAgeList(_arr[0], orgType, _code) console.log('zlcm---isClick', isClick)
this.getAgeList(_arr[0], orgType, isClick && _code || '')
} }
this.noInit = true this.noInit = true
}, },
clickEduPie (seriesIndex) { clickEduPie (seriesIndex) {
let _code = '' let _code = ''
let isClick = false
this.eduItem.forEach((element, index) => { this.eduItem.forEach((element, index) => {
if (index === seriesIndex) { if (index === seriesIndex) {
_code = element.code _code = element.code
if (!this.noEduInit) isClick = false
else {
element.isClick = !element.isClick
isClick = element.isClick
}
element.label = { element.label = {
show: true, show: true,
@ -515,6 +536,7 @@ export default {
}; };
console.log('zlcm') console.log('zlcm')
} else { } else {
element.isClick = false
element.label = { element.label = {
show: false, show: false,
@ -538,7 +560,7 @@ export default {
const _arr = this.selectAgency[this.selectAgency.length - 1].split('-') const _arr = this.selectAgency[this.selectAgency.length - 1].split('-')
const orgType = _arr[1] !== 'grid' ? 'agency': 'grid' const orgType = _arr[1] !== 'grid' ? 'agency': 'grid'
this.getEduList(_arr[0], orgType, _code) this.getEduList(_arr[0], orgType, isClick && _code || '')
} }
this.noEduInit = true this.noEduInit = true
@ -552,10 +574,37 @@ export default {
}; };
const { data, code, msg } = await requestPost(url, params); const { data, code, msg } = await requestPost(url, params);
if (code === 0) { if (code === 0) {
this.ageItem = data.map(item => { const colorList = [
{
name: '50岁以下',
value: 1,
color: '#FAC126'
}, {
name: '50-59岁',
value: 2,
color: '#3DDA83'
}, {
name: '60-69岁',
value: 3,
color: '#A800FF'
}, {
name: '70-79岁',
value: 4,
color: '#2865FA'
}, {
name: '80岁以上',
value: 5,
color: '#00DAD2'
}
]
this.ageItem = data.map((item, index) => {
return { return {
...item, ...item,
name: item.label name: item.label,
isClick: false,
itemStyle: {
color: colorList[index].color
}
} }
}) })
data.forEach(item => { data.forEach(item => {
@ -576,7 +625,8 @@ export default {
this.eduItem = data.map(item => { this.eduItem = data.map(item => {
return { return {
...item, ...item,
name: item.label name: item.label,
isClick: false
} }
}) })
data.forEach(item => { data.forEach(item => {
@ -679,6 +729,12 @@ export default {
}) })
return arr return arr
}, },
handleClickRow(val) {
console.log('click-row----', val)
this.$router.push({
path: `/main-shuju/visual-basicinfo-people/${val.userId}`,
});
},
handleCascader(val) { handleCascader(val) {
console.log('val-vvv', val) console.log('val-vvv', val)
const _arr = val[val.length - 1].split('-') const _arr = val[val.length - 1].split('-')
@ -912,18 +968,18 @@ export default {
padding-left: 6px; padding-left: 6px;
font-size: 16px; font-size: 16px;
color: #EFF0F1; color: #EFF0F1;
background: url('../../../../assets/img/shuju/measure/zi@2x.png') no-repeat left bottom; background: url('../../../../assets/img/shuju/measure/huang@2x.png') no-repeat left bottom;
&1 { &1 {
background: url('../../../../assets/img/shuju/measure/huang@2x.png') no-repeat left bottom; background: url('../../../../assets/img/shuju/measure/lv@2x.png') no-repeat left bottom;
} }
&2 { &2 {
background: url('../../../../assets/img/shuju/measure/lan@2x.png') no-repeat left bottom; background: url('../../../../assets/img/shuju/measure/zi@2x.png') no-repeat left bottom;
} }
&3 { &3 {
background: url('../../../../assets/img/shuju/measure/lanlv@2x.png') no-repeat left bottom; background: url('../../../../assets/img/shuju/measure/lan@2x.png') no-repeat left bottom;
} }
&4 { &4 {
background: url('../../../../assets/img/shuju/measure/lv@2x.png') no-repeat left bottom; background: url('../../../../assets/img/shuju/measure/lanlv@2x.png') no-repeat left bottom;
} }
} }
.tips-items-num { .tips-items-num {

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

@ -450,11 +450,11 @@ const vueGis = {
// //
setZoom (level) { setZoom (level) {
if (level === 'district') { if (level === 'district') {
this.zoom = 14 this.zoom = 11
} else if (level === 'street') { } else if (level === 'street') {
this.zoom = 15 this.zoom = 12
} else if (level === 'community') { } else if (level === 'community') {
this.zoom = 16 this.zoom = 13
} }
}, },

6
src/views/modules/visual/components/screen-table/index.vue

@ -22,6 +22,7 @@
class="table-body-tr" class="table-body-tr"
v-for="(value, index) in tableData" v-for="(value, index) in tableData"
:key="index" :key="index"
@click.stop="handleClickRow(value)"
> >
<div <div
class="td" class="td"
@ -201,6 +202,9 @@ export default {
look(val) { look(val) {
console.log('look-----l', val) console.log('look-----l', val)
this.$emit('look', val) this.$emit('look', val)
},
handleClickRow(val) {
this.$emit('row', val)
} }
}, },
}; };
@ -250,6 +254,8 @@ export default {
.td { .td {
text-align: center; text-align: center;
width: calc(100% / 5); width: calc(100% / 5);
box-sizing: border-box;
padding: 0 15px;
cursor: pointer; cursor: pointer;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;

14
src/views/modules/visual/heart/index.vue

@ -80,15 +80,23 @@ import { requestPost } from "@/js/dai/request";
import cptCard from "@/views/modules/visual/cpts/card"; import cptCard from "@/views/modules/visual/cpts/card";
import cptTb from "@/views/modules/visual/cpts/tb"; import cptTb from "@/views/modules/visual/cpts/tb";
import nextTick from "dai-js/tools/nextTick"; import nextTick from "dai-js/tools/nextTick";
import dateFormat from "dai-js/tools/dateFormat";
export default { export default {
name: "heart", name: "heart",
data() { data() {
return { return {
agencyId: "", agencyId: this.$store.state.user.agencyId,
areaCode: "", areaCode: "",
monthId: "", monthId: dateFormat(
new Date(
new Date().getFullYear(),
new Date().getMonth() - 1,
new Date().getDate()
),
"yyyyMM"
),
// / // /
tb1: { tb1: {
@ -194,7 +202,7 @@ export default {
handleSearch() {}, handleSearch() {},
async getApiData() { async getApiData() {
await this.getAgencyInfo(); //await this.getAgencyInfo();
this.getTb1(); this.getTb1();
this.getTb2(); this.getTb2();
this.getTb3(); this.getTb3();

2
src/views/modules/visual/measure/service.vue

@ -179,7 +179,7 @@ export default {
{ title: "上报人", coulmn: 'reportUserName' }, { title: "上报人", coulmn: 'reportUserName' },
{ title: "上报时间", coulmn: 'reportTime' }, { title: "上报时间", coulmn: 'reportTime' },
{ title: "需求人", coulmn: 'demandUserName' }, { title: "需求人", coulmn: 'demandUserName' },
{ title: "服务方", coulmn: 'serviceName' }, { title: "服务方", coulmn: 'serviceShowName' },
{ title: "服务时间", coulmn: 'wantServiceTime' }, { title: "服务时间", coulmn: 'wantServiceTime' },
], ],
categoryList: [], categoryList: [],

68
src/views/modules/visual/measure/volunteer.vue

@ -1,16 +1,16 @@
<template> <template>
<div class="warning-box"> <div class="warning-box">
<cpt-card > <cpt-card>
<div class="card-title"> <div class="card-title">
<img class="title-icon" src="../../../../assets/img/shuju/title-tip.png" /> <img class="title-icon"
src="../../../../assets/img/shuju/title-tip.png" />
<div class="title-label"> <div class="title-label">
<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> </div>
@ -18,7 +18,7 @@
<cpt-card class="card-wr"> <cpt-card class="card-wr">
<div class="card-title"> <div class="card-title">
<img class="title-icon" <img class="title-icon"
src="../../../../assets/img/shuju/title-tip.png" /> src="../../../../assets/img/shuju/title-tip.png" />
<div class="title-label"> <div class="title-label">
志愿者服务情况 志愿者服务情况
</div> </div>
@ -43,7 +43,7 @@
<div class="echart-wr"> <div class="echart-wr">
<!-- <div class="echart-cicle"></div> --> <!-- <div class="echart-cicle"></div> -->
<div id="echartService" <div id="echartService"
class="echart-org"></div> class="echart-org"></div>
</div> </div>
</div> </div>
@ -69,7 +69,7 @@
<div class="echart-wr"> <div class="echart-wr">
<!-- <div class="echart-cicle"></div> --> <!-- <div class="echart-cicle"></div> -->
<div id="echartCount" <div id="echartCount"
class="echart-org"></div> class="echart-org"></div>
</div> </div>
</div> </div>
@ -80,7 +80,7 @@
<cpt-card class="card-wr card-wr-map"> <cpt-card class="card-wr card-wr-map">
<div class="card-title"> <div class="card-title">
<img class="title-icon" <img class="title-icon"
src="../../../../assets/img/shuju/title-tip.png" /> src="../../../../assets/img/shuju/title-tip.png" />
<div class="title-label"> <div class="title-label">
多元化治理平面图 多元化治理平面图
</div> </div>
@ -97,11 +97,11 @@
<div class="map-tips"> <div class="map-tips">
<div class="map-tips-item" <div class="map-tips-item"
v-for="item in legendArray" v-for="item in legendArray"
:key="item.optionValue"> :key="item.optionValue">
<img class="title-icon" <img class="title-icon"
:src="item.url" /> :src="item.url" />
<div class="map-tips-label">{{item.optionLabel}}</div> <div class="map-tips-label">{{item.optionLabel}}</div>
</div> </div>
@ -351,43 +351,47 @@ export default {
this.$message.error(msg) this.$message.error(msg)
} }
}, },
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'
// let params = { // let params = {
// agencyId: this.$store.state.user.agencyId, // agencyId: this.$store.state.user.agencyId,
// }; // };
const { data, code, msg } = await requestPost(url); const { data, code, msg } = await requestPost(url);
if (code === 0) { if (code === 0) {
console.log('data-org----o', data) console.log('data-org----o', data)
this.selectAgency = [`${data.agencyId}-${data.level}`] let { agencyList, subAgencyList } = data
this.selectAgency = [`${agencyList.agencyId}-${agencyList.level}`]
let arr = [] let arr = []
arr.push(data) agencyList.subAgencyList = subAgencyList
arr.push(agencyList)
this.propTree = arr && this.getTreeData(arr) this.propTree = arr && this.getTreeData(arr)
} else { } else {
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,
@ -494,16 +498,16 @@ export default {
}, },
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.getServicePie(_arr[0], orgType) // this.getServicePie(_arr[0], orgType)
this.getPie(_arr[0]) this.getPie(_arr[0])
this.getMapUnitList(_arr[0]) this.getMapUnitList(_arr[0])
} }
}, },
// //
loadMap () { loadMap () {
@ -511,7 +515,7 @@ export default {
//mapInfo, polygonArray, polIconUrlArray, iconArrays, iconUrlArray //mapInfo, polygonArray, polIconUrlArray, iconArrays, iconUrlArray
this.$refs.map.loadMap(this.agencyInfo, null, null, this.distributionsList, this.iconUrlArray, null) this.$refs.map.loadMap(this.agencyInfo, null, null, this.distributionsList, this.iconUrlArray, null)
} else { } else {
this.$refs.map.refreshMap(null, this.unitMapList) this.$refs.map.refreshMap(null, this.distributionsList)
} }
}, },
@ -638,7 +642,7 @@ export default {
.title-label { .title-label {
font-size: 16px; font-size: 16px;
font-weight: 800; font-weight: 800;
::v-deep .el-input { ::v-deep .el-input {
width: 180px; width: 180px;
.el-input__inner { .el-input__inner {
@ -649,7 +653,7 @@ export default {
border: 0; border: 0;
} }
.el-icon-arrow-down::before { .el-icon-arrow-down::before {
content: "\e790"; content: "\e790";
} }
} }
} }

6
src/views/modules/workSys/mapConfig.vue

@ -390,11 +390,11 @@ const vueGis = {
// //
setZoom (agencyLevel) { setZoom (agencyLevel) {
if (agencyLevel === 'district') { if (agencyLevel === 'district') {
this.zoom = 13 this.zoom = 12
} else if (agencyLevel === 'street') { } else if (agencyLevel === 'street') {
this.zoom = 14 this.zoom = 13
} else if (agencyLevel === 'community') { } else if (agencyLevel === 'community') {
this.zoom = 15 this.zoom = 14
} }
}, },

Loading…
Cancel
Save