Browse Source

Merge branch 'dev-shuju' into test

shibei_master
13176889840 4 years ago
parent
commit
b001e5f6cd
  1. 6
      src/i18n/zh-CN.js
  2. 42
      src/router/index.js
  3. 22
      src/views/modules/customer/feedback/CustomerInfo.vue
  4. 24
      src/views/modules/customer/manage/CustomerInfo.vue
  5. 13
      src/views/modules/home.vue
  6. 259
      src/views/modules/visual/measure/volunteer.vue
  7. 0
      src/views/pages/index.vue

6
src/i18n/zh-CN.js

@ -3,9 +3,9 @@ const t = {}
t.loading = '加载中...' t.loading = '加载中...'
t.brand = {} t.brand = {}
t.brand.lg = '党群e事通运营平台' t.brand.lg = '数字社区工作平台'
t.brand.mini = '党群' t.brand.mini = '数字'
t.brand.work = '党群e事通工作端' t.brand.work = '数字社区工作平台'
t.brand.workMini = '工作端' t.brand.workMini = '工作端'
t.add = '新增' t.add = '新增'

42
src/router/index.js

@ -35,19 +35,13 @@ export const pageRoutes = [
{ {
path: "/", path: "/",
name: "index", name: "index",
redirect: { component: () => import("@/views/pages/index"),
name: "indexWork",
},
meta: {
title: "首页",
},
}, },
{ {
path: "/indexWork", path: "/indexWork",
component: () => import("@/views/pages/indexWork"),
name: "indexWork", name: "indexWork",
meta: { redirect: {
title: "工作端首页", name: "index",
}, },
}, },
]; ];
@ -58,7 +52,7 @@ export const moduleRoutes = {
component: () => import("@/views/main"), component: () => import("@/views/main"),
name: "main", name: "main",
redirect: { redirect: {
name: "home", path: "/main/base-resi",
}, },
meta: { meta: {
title: "主入口布局", title: "主入口布局",
@ -233,18 +227,18 @@ router.beforeEach((to, from, next) => {
id: "22213213", id: "22213213",
name: "基础信息", name: "基础信息",
url: "visual/basicinfo/basicInfoMain", url: "visual/basicinfo/basicInfoMain",
children: [ // children: [
{ // // {
url: "/visual/basicinfo/basicInfoMain", // // url: "/visual/basicinfo/basicInfoMain",
name: "基础信息", // // name: "基础信息",
id: "5feawfwaefwa5", // // id: "5feawfwaefwa5",
}, // // },
{ // // {
url: "/visual/basicinfo/basicInfoMain", // // url: "/visual/basicinfo/basicInfoMain",
name: "人员类别分析", // // name: "人员类别分析",
id: "5fwaefwaefawef5", // // id: "5fwaefwaefawef5",
}, // // },
], // ],
}, },
{ {
icon: "icon-setting", icon: "icon-setting",
@ -278,7 +272,6 @@ router.beforeEach((to, from, next) => {
id: "distributionAnalyze", id: "distributionAnalyze",
}, },
], ],
}, },
{ {
icon: "icon-setting", icon: "icon-setting",
@ -321,8 +314,7 @@ router.beforeEach((to, from, next) => {
id: "2221321fefefaewfa123", id: "2221321fefefaewfa123",
name: "初心互助", name: "初心互助",
url: "visual/heart/index", url: "visual/heart/index",
children: [ children: [],
],
}, },
]; ];
fnAddDynamicMenuRoutes2(window.SITE_CONFIG["menuShujuList"]); fnAddDynamicMenuRoutes2(window.SITE_CONFIG["menuShujuList"]);

22
src/views/modules/customer/feedback/CustomerInfo.vue

@ -135,24 +135,24 @@ export default {
uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/function/upload', uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/function/upload',
dataForm: { dataForm: {
rootAgencyDTO: { rootAgencyDTO: {
agencyName: '成都市', agencyName: '',
level: 'city', level: '',
areaCode: '123456', areaCode: '',
province: '四川省', province: '',
city: '成都市', city: '',
district: 'SN4FHbIZtK', district: '',
}, },
customerInfoDTO: { customerInfoDTO: {
customerName: '成都市', customerName: '',
organizationLevel: 'city', organizationLevel: '',
logo: '' logo: ''
}, },
managers: [ managers: [
{ {
realName: '王显章', realName: '',
gender: '1', gender: '',
mobile: '18560677960' mobile: ''
} }
] ]
} }

24
src/views/modules/customer/manage/CustomerInfo.vue

@ -77,7 +77,7 @@
</el-form> </el-form>
</el-row> </el-row>
<el-row> <el-row v-if="Array.isArray(dataForm.managers) && dataForm.managers.length>0">
<el-tag type="info" <el-tag type="info"
class="eltag" class="eltag"
size="medium" size="medium"
@ -136,24 +136,24 @@ export default {
uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadqrcodeV2', uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadqrcodeV2',
dataForm: { dataForm: {
rootAgencyDTO: { rootAgencyDTO: {
agencyName: '成都市', agencyName: '',
level: 'city', level: '',
areaCode: '123456', areaCode: '',
province: '四川省', province: '',
city: '成都市', city: '',
district: 'SN4FHbIZtK', district: '',
}, },
customerInfoDTO: { customerInfoDTO: {
customerName: '成都市', customerName: '',
organizationLevel: 'city', organizationLevel: '',
logo: '' logo: ''
}, },
managers: [ managers: [
{ {
realName: '王显章', realName: '',
gender: '1', gender: '',
mobile: '18560677960' mobile: ''
} }
] ]
} }

13
src/views/modules/home.vue

@ -1,17 +1,6 @@
<template> <template>
<div> <div>
<el-card v-if="userType==='oper'"
shadow="never"
class="aui-card--fill">
<div class="mod-home">
<h3>{{ $t('home.desc.title') }}</h3>
<ul>
<li v-for="item in $t('home.desc.list')"
:key="item"
v-html="item"></li>
</ul>
</div>
</el-card>
<customer-info @changeCustomerName="changeCustomerName" <customer-info @changeCustomerName="changeCustomerName"
v-if="userType==='work'"></customer-info> v-if="userType==='work'"></customer-info>

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

@ -1,97 +1,114 @@
<template> <template>
<div class="warning-box"> <div class="warning-box">
<cpt-card class="card-wr"> <cpt-card >
<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">
志愿者服务情况 <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="box-wr">
<cpt-card class="card-wr">
<div class="card-title">
<img class="title-icon"
src="../../../../assets/img/shuju/title-tip.png" />
<div class="title-label">
志愿者服务情况
</div>
</div>
<div class="card-echart"> <div class="card-echart">
<div class="card-left"> <div class="card-left">
<div class="card-count"> <div class="card-count">
<div class="card-count-item"> <div class="card-count-item">
<div class="card-count-content"> <div class="card-count-content">
<div class="card-count-num">{{ vInfo.partyTotal || 0 }}</div> <div class="card-count-num">{{ vInfo.partyTotal || 0 }}</div>
<div class="card-count-label">党员数量</div> <div class="card-count-label">党员数量</div>
</div>
</div>
<div class="card-count-item">
<div class="card-count-content">
<div class="card-count-num">{{ vInfo.resiTotal || 0 }}</div>
<div class="card-count-label">居民数量</div>
</div>
</div>
</div> </div>
</div> <div class="echart-wr">
<div class="card-count-item"> <!-- <div class="echart-cicle"></div> -->
<div class="card-count-content"> <div id="echartService"
<div class="card-count-num">{{ vInfo.resiTotal || 0 }}</div> class="echart-org"></div>
<div class="card-count-label">居民数量</div>
</div> </div>
</div>
</div>
<div class="echart-wr">
<!-- <div class="echart-cicle"></div> -->
<div id="echartService"
class="echart-org"></div>
</div>
</div> </div>
</div> </div>
<div class="card-echart"> <div class="card-echart">
<div class="card-left"> <div class="card-left">
<div class="card-count"> <div class="card-count">
<div class="card-count-item"> <div class="card-count-item">
<div class="card-count-content"> <div class="card-count-content">
<div class="card-count-num">{{ vInfo.partyServiceTotal || 0 }}</div> <div class="card-count-num">{{ vInfo.partyServiceTotal || 0 }}</div>
<div class="card-count-label">党员数量</div> <div class="card-count-label">党员数量</div>
</div>
</div>
<div class="card-count-item">
<div class="card-count-content">
<div class="card-count-num">{{ vInfo.resiServiceTotal || 0 }}</div>
<div class="card-count-label">居民数量</div>
</div>
</div>
</div> </div>
</div> <div class="echart-wr">
<div class="card-count-item"> <!-- <div class="echart-cicle"></div> -->
<div class="card-count-content"> <div id="echartCount"
<div class="card-count-num">{{ vInfo.resiServiceTotal || 0 }}</div> class="echart-org"></div>
<div class="card-count-label">居民数量</div>
</div> </div>
</div> </div>
</div>
<div class="echart-wr">
<!-- <div class="echart-cicle"></div> -->
<div id="echartCount"
class="echart-org"></div>
</div>
</div> </div>
</div> </cpt-card>
<cpt-card class="card-wr card-wr-map">
<div class="card-title">
<img class="title-icon"
src="../../../../assets/img/shuju/title-tip.png" />
<div class="title-label">
多元化治理平面图
</div>
</div>
</cpt-card> <div class="card-map">
<cpt-card class="card-wr card-wr-map"> <screen-map class="map"
<div class="card-title"> ref="map"
<img class="title-icon" @clickFeature="clickMapVolunteer"
src="../../../../assets/img/shuju/title-tip.png" /> :showIconLayer="true"
<div class="title-label"> :clickType="'popup'"
多元化治理平面图 :isAddOpenlay="true"></screen-map>
</div> </div>
</div> <div class="map-tips">
<div class="card-map"> <div class="map-tips-item"
<screen-map class="map" v-for="item in legendArray"
ref="map" :key="item.optionValue">
@clickFeature="clickMapVolunteer"
:showIconLayer="true"
:clickType="'popup'"
:isAddOpenlay="true"></screen-map>
</div>
<div class="map-tips">
<div class="map-tips-item" <img class="title-icon"
v-for="item in legendArray" :src="item.url" />
:key="item.optionValue"> <div class="map-tips-label">{{item.optionLabel}}</div>
</div>
<img class="title-icon" </div>
:src="item.url" />
<div class="map-tips-label">{{item.optionLabel}}</div>
</div>
</cpt-card>
</div> </div>
</cpt-card> </cpt-card>
</div> </div>
</template> </template>
@ -129,6 +146,8 @@ export default {
// [1,'','','2',''], // [1,'','','2',''],
], ],
value2: '', value2: '',
selectAgency: '',
propTree: [],
visibleLoading: true, visibleLoading: true,
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
@ -163,12 +182,13 @@ export default {
}, },
async mounted () { async mounted () {
await nextTick(100); await nextTick(100);
this.getPie() await this.getAgencyList()
this.getPie(this.$store.state.user.agencyId)
// this.initCharts() // this.initCharts()
// this.initCount() // this.initCount()
await this.getWorkUserInfo() await this.getWorkUserInfo()
await this.getMapUnitList() await this.getMapUnitList(this.$store.state.user.agencyId)
}, },
methods: { methods: {
initCharts (total, data) { initCharts (total, data) {
@ -286,12 +306,12 @@ export default {
option && _charts.setOption(option); option && _charts.setOption(option);
}, },
async getPie () { async getPie (agencyId) {
const url = "/data/report/heart/demand/volunteer/service"; const url = "/data/report/heart/demand/volunteer/service";
// let params = { let params = {
// agencyId: this.$store.state.user.agencyId, agencyId,
// }; };
const { data, code, msg } = await requestPost(url); const { data, code, msg } = await requestPost(url, params);
if (code === 0) { if (code === 0) {
console.log('data-ddd', data) console.log('data-ddd', data)
this.vInfo = data this.vInfo = data
@ -317,7 +337,7 @@ export default {
}, { }, {
name: '居民数量', name: '居民数量',
value: data.resiServiceTotal, value: data.resiServiceTotal,
temStyle: { itemStyle: {
color: 'rgba(250, 193, 38, 1)' color: 'rgba(250, 193, 38, 1)'
} }
}] }]
@ -331,6 +351,52 @@ export default {
this.$message.error(msg) this.$message.error(msg)
} }
}, },
async getAgencyList() {
// const url = "/gov/org/customeragency/staffinagencylist";
const url = '/gov/org/customeragency/agencygridtree'
// let params = {
// agencyId: this.$store.state.user.agencyId,
// };
const { data, code, msg } = await requestPost(url);
if (code === 0) {
console.log('data-org----o', data)
this.selectAgency = [`${data.agencyId}-${data.level}`]
let arr = []
arr.push(data)
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
},
// //
pageSizeChangeHandleNew (val) { pageSizeChangeHandleNew (val) {
this.pageNo = 1; this.pageNo = 1;
@ -370,12 +436,13 @@ export default {
// //
async getMapUnitList () { async getMapUnitList (agencyId) {
const url = "/epmetuser/volunteer/distribution" const url = "/epmetuser/volunteer/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 = {
customerId: this.$store.state.user.customerId customerId: this.$store.state.user.customerId,
agencyId
} }
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params)
@ -427,7 +494,17 @@ export default {
}, },
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.getServicePie(_arr[0], orgType)
this.getPie(_arr[0])
this.getMapUnitList(_arr[0])
}
},
// //
loadMap () { loadMap () {
if (this.isfirstInit) { if (this.isfirstInit) {
@ -534,7 +611,10 @@ export default {
></style> ></style>
<style lang="scss" scoped> <style lang="scss" scoped>
.warning-box { .warning-box {
display: flex; // display: flex;
.box-wr {
display: flex;
}
.card-wr { .card-wr {
flex: 1; flex: 1;
} }
@ -547,6 +627,7 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
margin-bottom: 10px;
.title-icon { .title-icon {
display: block; display: block;
width: 36px; width: 36px;
@ -557,6 +638,20 @@ export default {
.title-label { .title-label {
font-size: 16px; font-size: 16px;
font-weight: 800; font-weight: 800;
::v-deep .el-input {
width: 180px;
.el-input__inner {
font-size: 20px;
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;

0
src/views/pages/indexWork.vue → src/views/pages/index.vue

Loading…
Cancel
Save