Browse Source

Merge branch 'test' into prod

shibei_master
jiangyy 4 years ago
parent
commit
599737485f
  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. 238
      src/views/modules/communityService/dqfwzx/cpts/edit.vue
  8. 6
      src/views/modules/visual/basicinfo/basicInfoMain.vue
  9. 239
      src/views/modules/visual/communityGovern/distributionAnalyze.vue
  10. 3
      src/views/modules/visual/communityGovern/processAnalyze.vue
  11. 11
      src/views/modules/visual/communityGovern/resibuzz.vue
  12. 13
      src/views/modules/visual/communityGovern/typeAnalyze.vue
  13. 170
      src/views/modules/visual/communityParty/community.vue
  14. 80
      src/views/modules/visual/communityParty/party.vue
  15. 6
      src/views/modules/visual/components/screen-map/index.vue
  16. 6
      src/views/modules/visual/components/screen-table/index.vue
  17. 2
      src/views/modules/visual/measure/service.vue
  18. 6
      src/views/modules/workSys/mapConfig.vue

4
.env.development

@ -1,7 +1,9 @@
NODE_ENV=development
# 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.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_NODE_ENV=dev
#项目根路径

4
public/index.html

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

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

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

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

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

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

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

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

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

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

@ -173,67 +173,95 @@
:key="'staff' + index"
v-for="(item, index) in dataForm.matterList"
>
<el-input
class="item_width_1"
maxlength="50"
show-word-limit
placeholder="事项名"
v-model="item.matterName"
:disabled="item.matterId != undefined"
/>
<el-select
style="margin-left: 10px"
v-model="item.appointmentType"
filterable
placeholder="预约类型"
:disabled="item.matterId != undefined"
>
<el-option
v-for="item in appointmentTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
<div class="item-info">
<el-input
class="item_width_1"
maxlength="50"
show-word-limit
placeholder="事项名"
v-model="item.matterName"
:disabled="item.matterId != undefined"
/>
<el-select
style="margin-left: 10px"
v-model="item.appointmentType"
filterable
placeholder="预约类型"
:disabled="item.matterId != undefined"
>
</el-option>
</el-select>
<el-time-select
style="margin-left: 10px"
v-model="item.startTime"
:picker-options="{
start: '00:00',
step: '00:30',
end: '24:00',
}"
placeholder="开始时间"
:disabled="item.matterId != undefined"
>
</el-time-select>
<span style="margin: 0 5px"></span>
<el-time-select
v-model="item.endTime"
:picker-options="{
start: '00:00',
step: '00:30',
end: '24:00',
minTime: item.startTime,
}"
placeholder="结束时间"
:disabled="item.matterId != undefined"
>
</el-time-select>
<el-button
style="margin-left: 10px"
size="small"
@click="handleDelStaff(index)"
>删除</el-button
>
<el-option
v-for="item in appointmentTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-time-select
style="margin-left: 10px"
v-model="item.startTime"
:picker-options="{
start: '00:00',
step: '00:30',
end: '24:00',
}"
placeholder="开始时间"
:disabled="item.matterId != undefined"
>
</el-time-select>
<span style="margin: 0 5px"></span>
<el-time-select
v-model="item.endTime"
:picker-options="{
start: '00:00',
step: '00:30',
end: '24:00',
minTime: item.startTime,
}"
placeholder="结束时间"
:disabled="item.matterId != undefined"
>
</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 class="item-add">
<el-button size="small" @click="handleAddStaff">添加</el-button>
<el-button size="small" type="warning" @click="handleAddStaff"
>添加</el-button
>
</div>
</div>
</el-form-item>
@ -266,6 +294,9 @@ let loading; // 加载动画
export default {
data() {
return {
uploadUlr: window.SITE_CONFIG["apiURL"] + "/oss/file/uploadqrcodeV2",
customerId: "",
formType: "add", // addeditdetail
btnDisable: false,
@ -342,14 +373,39 @@ export default {
watch: {},
async mounted() {
this.customerId = localStorage.getItem("customerId");
this.initMap();
},
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() {
this.dataForm.matterList = [
...this.dataForm.matterList,
{ matterName: "", appointmentType: "", startTime: "", endTime: "" },
{
matterName: "",
appointmentType: "",
matterImg: "",
startTime: "",
endTime: "",
},
];
},
handleDelStaff(index) {
@ -482,9 +538,28 @@ export default {
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, {
...this.dataForm,
matterList: this.dataForm.matterList.filter((item) => !item.matterId),
matterList,
});
if (code === 0) {
@ -580,9 +655,48 @@ export default {
width: 650px;
.item {
display: flex;
justify-content: space-around;
margin-bottom: 7px;
.item-info {
display: flex;
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 {
}

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

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

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

@ -4,31 +4,32 @@
<div class="card-title">
<img src="@/assets/img/shuju/title-tip.png" />
<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>
@ -36,19 +37,21 @@
<div class="g-cpt-resi">
<div class="g-l">
<screen-echarts-frame class="echart-line"
<screen-echarts-frame v-if="!showNoData"
class="echart-line"
@myChartMethod="lineInitOk"
ref="lineChart"></screen-echarts-frame>
<div v-else
class="echart-line">
<img src="../../../../assets/img/modules/visual/noData.png" />
</div>
<!-- <div class="table-status"
v-if="loading">
<screen-loading>加载中</screen-loading>
</div>
<div class="table-status"
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>
@ -208,6 +211,7 @@ export default {
await this.getAgencylist()//
await nextTick(500)
await this.loadOrgData()
await this.getApiData();
},
@ -237,6 +241,15 @@ export default {
if (month2 < 10) {
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 t1 = year + '-' + month + '-' + day;
// let t3 = formate(t2, style);
@ -250,9 +263,19 @@ export default {
},
async getApiData () {
await this.getLine()
await this.getLineChart()
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);
if (code === 0) {
this.legendArray = []
if (data.above) {
if (data.under === 0 || data.under) {
this.under = data.under
this.legendArray.push(
{
color: this.colorArray[0],
name: data.under + '以下'
name: data.under + '以下'
}
)
}
if (data.above) {
if (data.above === 0 || data.above) {
this.above = data.above
this.legendArray.push(
{
@ -371,7 +395,7 @@ export default {
this.legendArray.push(
{
color: this.colorArray[2],
name: data.above + '以上'
name: data.above + '以上'
}
)
}
@ -392,21 +416,22 @@ export default {
item.latitude = agencyItem.latitude
item.coordinates = agencyItem.coordinates
if (this.under) {
if (this.under === 0 || this.under) {
if (item.count < this.under || item.count === this.under) {
item.color = this.colorArray[0]
item.fillColor = this.colorFillArray[0]
}
if (this.above) {
if (item.count > this.under && item.count < this.above) {
item.color = this.colorArray[1]
item.fillColor = this.colorFillArray[1]
} else {
item.color = this.colorArray[2]
item.fillColor = this.colorFillArray[2]
} else {
if (this.above === 0 || this.above) {
if (item.count > this.under && item.count < this.above) {
item.color = this.colorArray[1]
item.fillColor = this.colorFillArray[1]
} else {
item.color = this.colorArray[2]
item.fillColor = this.colorFillArray[2]
}
}
}
}
break
}
@ -416,8 +441,7 @@ export default {
});
console.log(this.mapList)
this.loadMap()
this.isfirstInit = false
} else {
this.$message.error(msg);
@ -442,7 +466,7 @@ export default {
},
getLine () {
if (this.lineInitState) {
this.getLineChart()
this.assignLineChart()
} else {
setTimeout(() => {
this.getLine()
@ -451,9 +475,13 @@ export default {
},
// 线
async getLineChart () {
this.$refs.lineChart.clear()
if (!this.showNoData) {
this.$refs.lineChart.clear()
this.$refs.lineChart.showLoading()
}
const _that = this
this.$refs.lineChart.showLoading()
const url = "/gov/project/project/projectdistributionanalysisleft";
// const url = "http://yapi.elinkservice.cn/mock/245/gov/project/project/projectdistributionanalysisleft";
let params = {
@ -463,28 +491,20 @@ export default {
};
const { data, code, msg } = await requestPost(url, params);
this.$refs.lineChart.hideLoading()
if (!this.showNoData) {
this.$refs.lineChart.hideLoading()
}
if (code === 0) {
// pieChart
this.lineOption = lineOption()
if (data && data.length > 0) {
this.lineList = data
this.loadCategoryData()
this.$refs.lineChart.setOption(this.lineOption, true)
this.$refs.lineChart.setOption({
xAxis: { data: this.xaxis },
legend: { data: this.legend },
series: this.series
}, true)
this.showNoData = false
} else {
this.lineList = []
this.showNoData = true
}
this.loadCategoryData()
} else {
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 () {
this.xaxis = []
this.series = []
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] = []
});
//
this.lineList.forEach(item => {
this.xaxis.push(item.time)
let num = this.lineList[0].categoryList.length
let dataArray = new Array(num)
//
item.categoryList.forEach((categoryItem, index) => {
dataArray[index].push(categoryItem.count)
this.lineList[0].categoryList.forEach((categoryItem, index) => {
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) {

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

@ -424,7 +424,8 @@ export default {
loadMap () {
if (this.isfirstInit) {
//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 {
this.$refs.map.refreshMap(null, this.projectList)
}

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

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

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

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

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

@ -6,13 +6,20 @@
src="../../../../assets/img/shuju/title-tip.png" />
<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 class="second-title">
<div class="second-title-label">党建单位分类统计</div>
<div class="second-select">
<el-select v-model="serviceMatter"
clearable
placeholder="请选择"
@change="handleSelectChange"
@clear="handleSelectChange">
@ -31,6 +38,7 @@
end-placeholder="结束日期"
prefix-icon="el-icon-caret-bottom"
value-format="yyyy-MM-dd HH:mm:ss"
:clearable="false"
:default-time="['00:00:00', '23:59:59']"
>
</el-date-picker>
@ -135,7 +143,7 @@ export default {
{ title: "区域化党建单位名称", coulmn: 'unitName' },
{ title: "活动标题", coulmn: 'title' },
{ title: "活动地址", coulmn: 'address' },
{ title: "服务事项", coulmn: 'serviceMatter' },
{ title: "服务事项", coulmn: 'serviceMatterName' },
{ title: "服务人数", coulmn: 'peopleCount' },
{ title: "活动时间", coulmn: 'activityTime' }
],
@ -147,13 +155,15 @@ export default {
value2: '',
timeRange: '',
visibleLoading: true,
serviceMatter: '',
serviceMatter: 'all',
pageNo: 1,
pageSize: 10,
total: 0,
activeIndex: 0,
activeLevel: "1",
selectAgency: '',
unitList: [],
propTree: [],
partyItem: [
{
name: '楼宇党建',
@ -231,33 +241,37 @@ export default {
async mounted () {
const { user } = this.$store.state
this.agencyId = user.agencyId
console.log('agencyId-------', this.agencyId)
this.initTime()
await nextTick(100);
await this.getAgencyList()
this.loadUnit()
this.getList();
this.getCateCount()
this.getCateType()
this.getList(this.agencyId)
this.getCateCount(this.agencyId)
this.getCateType(this.agencyId)
await this.getWorkUserInfo()
await this.getMapUnitList()
await this.getMapUnitList(this.agencyId)
},
watch: {
timeRange(val) {
console.log('val-www', val)
this.getList();
this.getList(this.agencyId);
}
},
methods: {
//
async getList () {
async getList (agencyId) {
this.visibleLoading = true
const url = "/heart/icpartyactivity/activitylist"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list"
let params = {
agencyId: this.agencyId,
agencyId,
pageSize: this.pageSize,
pageNo: this.pageNo,
serviceMatter: this.serviceMatter,
serviceMatter: this.serviceMatter == 'all' ? '' : this.serviceMatter,
startTime: this.timeRange && this.timeRange[0] || '',
endTime: this.timeRange && this.timeRange[1] || ''
}
@ -277,12 +291,61 @@ export default {
}
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 = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list"
let params = {
agencyId: this.agencyId
agencyId
}
const { data, code, msg } = await requestPost(url, params)
@ -293,12 +356,12 @@ export default {
this.$message.error(msg)
}
},
async getCateType () {
async getCateType (agencyId) {
const url = "/heart/icpartyunit/typestatistics"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/list"
let params = {
agencyId: this.agencyId
agencyId
}
const { data, code, msg } = await requestPost(url, params)
@ -352,7 +415,37 @@ export default {
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 () {
const url = "/heart/icresidemanddict/subcodelist"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/option"
@ -365,7 +458,10 @@ export default {
if (code === 0) {
this.unitList = data
this.unitList.unshift({
label: '全部',
value: 'all'
})
} else {
this.$message.error(msg)
}
@ -419,27 +515,33 @@ export default {
// },
//
async getMapUnitList () {
async getMapUnitList (agencyId) {
const url = "/heart/icpartyunit/distribution"
// const url = "http://yapi.elinkservice.cn/mock/245/heart/icpartyunit/distribution"
let params = {
agencyId: this.agencyId
agencyId
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
// this.unitMapList = data
this.unitMapList = this.unitMapList1
console.log('unitMapList----data', data)
this.unitMapList = data.map((item, index) => {
return {
...item,
urlIndex: index
}
})
// this.unitMapList = this.unitMapList1
console.log('unitMapList----', this.unitMapList)
this.unitMapList.forEach(item => {
if (item.type === '党建楼宇') {
if (item.type === '楼宇党建') {
item.urlIndex = 0
} else if (item.type === '两新党建') {
} else if (item.type === '两新组织') {
item.urlIndex = 1
} else if (item.type === '区单位') {
} else if (item.type === '区单位党建') {
item.urlIndex = 2
} else if (item.type === '机关直属部门') {
item.urlIndex = 3
@ -492,7 +594,7 @@ export default {
this.showedMoreInfo = true
},
handleSelectChange () {
handleSelectChange (val) {
this.getList();
},
pageSizeChangeHandleNew (val) {
@ -562,8 +664,22 @@ export default {
margin-right: 6px;
}
.title-label {
font-size: 16px;
font-size: 20px;
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 {
font-size: 16px;

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

@ -40,7 +40,7 @@
<div class="echarts-tips echarts-tips-wd50">
<div class="tips-lists">
<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 }}
</div>
<div class="tips-items-num">
@ -59,6 +59,7 @@
:tableData="ageList"
:visibleLoading="visibleLoading"
:operate="false"
@row="handleClickRow"
></screen-table>
<div class="pagination">
<el-pagination
@ -100,6 +101,7 @@
:tableData="eduList"
:visibleLoading="visibleLoading"
:operate="false"
@row="handleClickRow"
></screen-table>
<div class="pagination">
<el-pagination
@ -323,7 +325,7 @@ export default {
this.clickEduPie(params.dataIndex)
}
this.$refs.eduChart.handleClick(fun)
this.noInit = true
// this.noInit = true
// option && this.$refs.pieChart.setOption(option);
},
@ -454,9 +456,18 @@ export default {
},
clickAgePie (seriesIndex) {
let _code = ''
let isClick = false
console.log('seriesIndex---', seriesIndex)
this.ageItem.forEach((element, index) => {
if (index === seriesIndex) {
_code = element.code
if (!this.noInit) isClick = false
else {
element.isClick = !element.isClick
isClick = element.isClick
}
element.label = {
show: true,
@ -470,6 +481,7 @@ export default {
};
console.log('zlcm', element)
} else {
element.isClick = false
element.label = {
show: false,
@ -492,16 +504,25 @@ export default {
if (this.noInit) {
const _arr = this.selectAgency[this.selectAgency.length - 1].split('-')
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
},
clickEduPie (seriesIndex) {
let _code = ''
let isClick = false
this.eduItem.forEach((element, index) => {
if (index === seriesIndex) {
_code = element.code
if (!this.noEduInit) isClick = false
else {
element.isClick = !element.isClick
isClick = element.isClick
}
element.label = {
show: true,
@ -515,6 +536,7 @@ export default {
};
console.log('zlcm')
} else {
element.isClick = false
element.label = {
show: false,
@ -538,7 +560,7 @@ export default {
const _arr = this.selectAgency[this.selectAgency.length - 1].split('-')
const orgType = _arr[1] !== 'grid' ? 'agency': 'grid'
this.getEduList(_arr[0], orgType, _code)
this.getEduList(_arr[0], orgType, isClick && _code || '')
}
this.noEduInit = true
@ -552,10 +574,37 @@ export default {
};
const { data, code, msg } = await requestPost(url, params);
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 {
...item,
name: item.label
name: item.label,
isClick: false,
itemStyle: {
color: colorList[index].color
}
}
})
data.forEach(item => {
@ -576,7 +625,8 @@ export default {
this.eduItem = data.map(item => {
return {
...item,
name: item.label
name: item.label,
isClick: false
}
})
data.forEach(item => {
@ -679,6 +729,12 @@ export default {
})
return arr
},
handleClickRow(val) {
console.log('click-row----', val)
this.$router.push({
path: `/main-shuju/visual-basicinfo-people/${val.userId}`,
});
},
handleCascader(val) {
console.log('val-vvv', val)
const _arr = val[val.length - 1].split('-')
@ -912,18 +968,18 @@ export default {
padding-left: 6px;
font-size: 16px;
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 {
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 {
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 {
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 {
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 {

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

@ -450,11 +450,11 @@ const vueGis = {
//
setZoom (level) {
if (level === 'district') {
this.zoom = 14
this.zoom = 11
} else if (level === 'street') {
this.zoom = 15
this.zoom = 12
} 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"
v-for="(value, index) in tableData"
:key="index"
@click.stop="handleClickRow(value)"
>
<div
class="td"
@ -201,6 +202,9 @@ export default {
look(val) {
console.log('look-----l', val)
this.$emit('look', val)
},
handleClickRow(val) {
this.$emit('row', val)
}
},
};
@ -250,6 +254,8 @@ export default {
.td {
text-align: center;
width: calc(100% / 5);
box-sizing: border-box;
padding: 0 15px;
cursor: pointer;
overflow: hidden;
white-space: nowrap;

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

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

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

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

Loading…
Cancel
Save