Browse Source

对接接口

feature
战立标 2 years ago
parent
commit
99de55daf2
  1. 2
      src/views/dataBoard/overview/components/MapDialog/CommunityList.vue
  2. 8
      src/views/dataBoard/overview/components/MapDialog/DifficultyCharts.vue
  3. 20
      src/views/dataBoard/overview/components/MapDialog/DisputeDispatch.vue
  4. 2
      src/views/dataBoard/overview/components/MapDialog/List12345.vue
  5. 81
      src/views/dataBoard/overview/components/MapDialog/Njjwtqk.vue
  6. 13
      src/views/dataBoard/overview/components/MapDialog/ResourceDispatch.vue
  7. 97
      src/views/dataBoard/overview/components/MapDialog/index.vue
  8. 14
      src/views/dataBoard/overview/components/MapResourceInfo.vue
  9. 7
      src/views/dataBoard/overview/components/MapResourceInfoMore.vue
  10. 121
      src/views/dataBoard/overview/components/ResourceScheduling.vue
  11. 2
      src/views/dataBoard/satisfactionEval/dissatisfieReason/index.vue

2
src/views/dataBoard/overview/components/MapDialog/CommunityList.vue

@ -94,7 +94,7 @@ export default {
let params = {
...this.queryParams,
agencyId: this.currentLevelData.orgId,
secondIdList:[this.catVal]
satisfactionCategory: this.catVal
}
this.$http.get("/governance/satisfaction/communitySelfInsp/inspResult/list?" + this.$paramsFormat(params)).then(({data: {data}}) => {
this.list = data.list;

8
src/views/dataBoard/overview/components/MapDialog/DifficultyCharts.vue

@ -14,13 +14,17 @@ export default {
data: {
type: Array,
default: () => []
}
},
currentLevelData: {
type: Object,
default: {},
},
},
data() {
return {}
},
mounted() {
this.$http.get('/governance/icEventOld/statisticsByCategory').then(({data: {data}}) => {
this.$http.get('/governance/icEventOld/statisticsByCategory?agencyId=' + this.currentLevelData.orgId+'&type=2').then(({data: {data}}) => {
this.initCharts(data ? data : [])
})
},

20
src/views/dataBoard/overview/components/MapDialog/DisputeDispatch.vue

@ -1,7 +1,7 @@
<template>
<div>
<Tabs v-model="type" :list="typeList" @changeVal="typeChange"/>
<div class="table" v-if="type === '4'">
<div v-if="type === '4'" class="table">
<el-table v-loading="loading" :data="list" element-loading-background="rgba(0, 0, 0, 0.3)"
height="250px">
<el-table-column label="资源类型" min-width="120" prop="personnelType">
@ -33,7 +33,7 @@
@pagination="pageChange"
/>
</div>
<div class="table" v-if="type === '5'">
<div v-if="type === '5'" class="table">
<el-table v-loading="loading" :data="list" element-loading-background="rgba(0, 0, 0, 0.3)"
height="250px">
<el-table-column label="资源类型" min-width="120" prop="personnelType">
@ -66,7 +66,7 @@
/>
</div>
<div class="table" v-if="type !== '4' && type !== '5'">
<div v-if="type !== '4' && type !== '5'" class="table">
<el-table v-loading="loading" :data="list" element-loading-background="rgba(0, 0, 0, 0.3)"
height="250px">
<el-table-column label="资源类型" min-width="120" prop="personnelType">
@ -100,6 +100,8 @@
@pagination="pageChange"
/>
</div>
<MapResourceInfo ref="MapResourceInfo" :currentLevelData="currentLevelData"/>
</div>
</template>
@ -108,10 +110,11 @@
import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination";
import Tabs from "@/views/dataBoard/satisfactionEval/components/Tabs/index.vue";
import CallPhone from "@/views/dataBoard/cpts/CallPhone";
import MapResourceInfo from "@/views/dataBoard/overview/components/MapResourceInfo.vue";
export default {
name: "DisputeDispatch",
components: {Pagination, Tabs, CallPhone},
components: {Pagination, Tabs, CallPhone, MapResourceInfo},
props: {
currentLevelData: {
type: Object,
@ -213,6 +216,15 @@ export default {
this.getList()
}
},
handleViews(data) {
// 12345
let type = this.type === 'volunteer' ? 1 :
this.type === '5' ? 2 :
this.type === '4' ? 3 :
this.type === 'staffGrid' ? 4 :
this.type === 'publicWelfareNum' ? 5 : ''
this.$refs.MapResourceInfo.open(type === 3 ? data.agencyId : data.id, type)
},
typeChange(val) {
this.type = val
this.total = 0;

2
src/views/dataBoard/overview/components/MapDialog/List12345.vue

@ -18,7 +18,7 @@
<el-table-column label="操作" prop="op" width="250">
<template slot-scope="scope">
<CallPhone text="拨打电话"/>
<span class="handle" @click="handleDispatch(row)">处理</span>
<span class="handle" @click="handleDispatch(scope.row)">处理</span>
<span class="view" @click="handleViews(scope.row)">查看</span>
</template>
</el-table-column>

81
src/views/dataBoard/overview/components/MapDialog/Njjwtqk.vue

@ -3,18 +3,18 @@
<div class="table">
<el-table v-loading="loading" :data="list" :height="catVal === 1|| catVal === 2?'250px':'600px'"
element-loading-background="rgba(0, 0, 0, 0.3)">
<el-table-column label="所属网格" prop="key" width="120"/>
<el-table-column label="接收时间" prop="key" width="180"/>
<el-table-column label="问题描述" prop="key" width="120"/>
<el-table-column label="语音" prop="key" width="120"/>
<el-table-column label="办结时限" prop="key" width="120"/>
<el-table-column label="联系人" prop="key" width="120"/>
<el-table-column label="联系电话" prop="key" width="120"/>
<el-table-column label="状态" prop="name" width="120"/>
<el-table-column label="所属网格" prop="gridName" width="120"/>
<el-table-column label="接收时间" prop="happenTime" width="180"/>
<el-table-column label="问题描述" prop="eventContent" width="120"/>
<!-- <el-table-column label="语音" prop="key" width="120"/>-->
<el-table-column label="办结时限" prop="timeLimit" width="120"/>
<el-table-column label="联系人" prop="name" width="120"/>
<el-table-column label="联系电话" prop="mobile" width="120"/>
<el-table-column label="状态" prop="statusName" width="120"/>
<el-table-column label="操作" prop="op" width="250">
<template slot-scope="scope">
<CallPhone text="拨打电话"/>
<span class="handle">处理</span>
<span class="handle" @click="handleDispatch(scope.row)">处理</span>
<span class="view" @click="handleViews(scope.row)">查看</span>
</template>
</el-table-column>
@ -27,36 +27,91 @@
@pagination="getList"
/>
</div>
<EventDetails
:id="rowId"
:currentLevelData="currentLevelData"
:showDialog="showDialog"
@close="showDialog = false"
@ok="getList"
/>
<EventDispatchOrder v-if="isEventDispatchOrder" ref="EventDispatchOrder" @close="isEventDispatchOrder = false"
@ok="handleSure"/>
</div>
</template>
<script>
import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination";
import CallPhone from "@/views/dataBoard/cpts/CallPhone";
import EventDetails from "@/views/dataBoard/overview/components/EventDetail.vue";
import EventDispatchOrder from "@/views/dataBoard/overview/components/EventDispatchOrder.vue";
export default {
name: "Njjwtqk",
components: {Pagination, CallPhone},
components: {Pagination, CallPhone, EventDetails, EventDispatchOrder},
props: {
catVal: {
type: [String, Number],
default: ""
},
currentLevelData: {
type: Object,
default: () => {
},
}
},
data() {
return {
showDialog: false,
rowId: "",
total: 10,
queryParams: {},
queryParams: {
pageNo: 1,
pageSize: 10,
},
list: [],
loading: false,
isEventDispatchOrder: false
}
},
watch: {
catVal() {
this.getList()
}
},
mounted() {
this.getList()
},
methods: {
getList() {
this.$http.post('/governance/icEventOld/list', {type: this.catVal}).then(({data: {data}}) => {
this.list = data.list;
this.total = data.total;
})
},
handleSure() {
this.queryParams.pageNo = 1;
this.getList();
},
handleDispatch({icEventId}) {
this.$http
.post("/governance/icEvent/detail", {icEventId: icEventId})
.then((res) => {
const {code, data, msg} = res.data;
if (code === 0) {
this.loading = false;
this.isEventDispatchOrder = true
this.$nextTick(() => {
this.$refs.EventDispatchOrder.open(data || {});
})
} else {
this.loading = false;
this.$message.error(msg);
}
});
},
handleViews({icEventId}) {
this.showDialog = true;
this.rowId = icEventId;
},
}
}

13
src/views/dataBoard/overview/components/MapDialog/ResourceDispatch.vue

@ -100,6 +100,7 @@
@pagination="pageChange"
/>
</div>
<MapResourceInfo ref="MapResourceInfo" :currentLevelData="currentLevelData"/>
</div>
</template>
@ -108,10 +109,11 @@
import Pagination from "@/views/dataBoard/satisfactionEval/components/Pagination";
import Tabs from "@/views/dataBoard/satisfactionEval/components/Tabs/index.vue";
import CallPhone from "@/views/dataBoard/cpts/CallPhone";
import MapResourceInfo from "@/views/dataBoard/overview/components/MapResourceInfo.vue";
export default {
name: "DisputeDispatch",
components: {Pagination, Tabs, CallPhone},
components: {Pagination, Tabs, CallPhone,MapResourceInfo},
props: {
currentLevelData: {
type: Object,
@ -170,6 +172,15 @@ export default {
this.getList()
},
methods: {
handleViews(data) {
// 12345
let type = this.type === 'volunteer' ? 1 :
this.type === '5' ? 2 :
this.type === '4' ? 3 :
this.type === 'staffGrid' ? 4 :
this.type === 'publicWelfareNum' ? 5 : ''
this.$refs.MapResourceInfo.open(type === 3 ? data.agencyId : data.id, type)
},
getList() {
this.loading = true;
this.$http.get("/actual/base/streetOverview/queryPersonnelGroup" +

97
src/views/dataBoard/overview/components/MapDialog/index.vue

@ -55,7 +55,8 @@
catVal === 4 ? '超出服务范围事件列表' : ''
}}
</div>
<DifficultyCharts v-if="catVal === 1" :currentLevelData="currentLevelData" style="margin-bottom: 56px;"/>
<DifficultyCharts v-if="catVal === 1" :currentLevelData="currentLevelData"
style="margin-bottom: 56px;"/>
<DisputeDispatch v-if="catVal === 2" :currentLevelData="currentLevelData" style="margin-bottom: 56px;"/>
<Njjwtqk :catVal="catVal"/>
</template>
@ -65,9 +66,9 @@
<img :height="18" :width="18" src="@/assets/images/manyidu/tc-title-icon.png"/>
不满意事项列表
</div>
<List12345 :currentLevelData="currentLevelData" v-if="catVal === 1" :catVal="catValSub"/>
<CommunityList :currentLevelData="currentLevelData" v-if="catVal === 2" :catVal="catValSub"/>
<SatisfactionList :currentLevelData="currentLevelData" v-if="catVal === 3" :catVal="catValSub"/>
<List12345 v-if="catVal === 1" :catVal="catValSub" :currentLevelData="currentLevelData"/>
<CommunityList v-if="catVal === 2" :catVal="catValSub" :currentLevelData="currentLevelData"/>
<SatisfactionList v-if="catVal === 3" :catVal="catValSub" :currentLevelData="currentLevelData"/>
</template>
<template v-if="type === 'xqwwcqk'">
@ -80,7 +81,7 @@
<img :height="18" :width="18" src="@/assets/images/manyidu/tc-title-icon.png"/>
{{ catLabel }}-需求列表
</div>
<DemandList :currentLevelData="currentLevelData" :categoryCode="catVal"/>
<DemandList :categoryCode="catVal" :currentLevelData="currentLevelData"/>
</template>
</el-col>
</el-row>
@ -131,7 +132,7 @@ export default {
queryParams: {},
dialogVisible: false,
njjwtqkTree: [
{
/* {
label: '难点堵点',
value: 1
}, {
@ -143,47 +144,9 @@ export default {
}, {
label: '超出服务范围',
value: 4
}
],
bmysxqkTree: [
{
label: '12345政务热线',
value: 1,
children: [{
label: '城市综合',
value: 4
}, {
label: '城乡建设',
value: 5
}]
}, {
label: '社区自查',
value: 2,
children: [{
label: '文化设施',
value: 6
}, {
label: '病有所医',
value: 7
}, {
label: '社会救助',
value: 8
}]
}, {
label: '满意度调查',
value: 3,
children: [{
label: '文化设施',
value: 9
}, {
label: '基础教育',
value: 10
}, {
label: '体育设施',
value: 11
}]
}
}*/
],
bmysxqkTree: [],
xqwwcqkTree: [],
defaultProps: {
children: 'children',
@ -213,9 +176,28 @@ export default {
this.catVal = 1
this.$http.post('/governance/icEventOld/getMarkersByMarkType', {
agencyId: orgId,
type: 2
type: 1
}).then(({data: {data}}) => {
console.log('data', data)
let njjwtqkTree = [
{
label: '难点堵点',
value: 1
}, {
label: '矛盾纠纷',
value: 2
}, {
label: '自身问题',
value: 3
}, {
label: '超出服务范围',
value: 4
}
]
njjwtqkTree.forEach(item => {
item.label = item.label + '(' + data.filter(item2 => item2.markType === item.value)[0].total + ')'
})
this.njjwtqkTree = njjwtqkTree
})
}
if (this.type === 'xqwwcqk') {
@ -223,6 +205,20 @@ export default {
}
if (this.type === 'bmysxqk') {
this.catVal = 1
this.$http.get('/governance/icEvent/dissatisfyByCategoryType?agencyId=' + orgId).then(({data: {data}}) => {
this.bmysxqkTree = data.map((item, index) => {
return {
label: item.type + '(' + item.total + ')',
value: index - 0 + 1,
children: item.datas.map(item2 => {
return {
label: item2.categoryName + '(' + item2.total + ')',
value: item2.value,
}
})
}
})
})
}
},
handleViews() {
@ -247,12 +243,11 @@ export default {
},
handleNodeClick(item) {
this.catLabel = item.label
if (this.type === "xqwwcqk") {
this.catVal = item.value
} else {
if (this.type === "bmysxqk") {
this.catValSub = item.value
console.log(this.getTopLevel(item.value))
this.catVal = this.getTopLevel(item.value) || item.value
} else {
this.catVal = item.value
}
},

14
src/views/dataBoard/overview/components/MapResourceInfo.vue

@ -18,7 +18,7 @@
<div class="label">资源类型</div>
<div class="value">{{ typeList[type] }}</div>
</div>
<template v-if="type === 2 || type === 3">
<template v-if="type === 2">
<div class="items">
<div class="label">单位名称</div>
@ -213,28 +213,28 @@ export default {
//
getVolunteer() {
this.$http.post('/actual/base/residentBaseInfo/detail/' + this.id).then(({data: {data}}) => {
this.detail = data;
this.detail = data || {};
})
this.$http.get('/actual/base/residentEduInfo/detail/' + this.id).then(({data: {data}}) => {
this.education = data;
this.education = data || {};
})
this.$http.get('/actual/base/residentHobbyInfo/detail/' + this.id).then(({data: {data}}) => {
this.hobby = data;
this.hobby = data || {};
})
},
getCompany() {
this.$http.post('/actual/base/icpartyunit/detail?id=' + this.id, {id: this.id}).then(({data: {data}}) => {
this.detail = data;
this.detail = data || {};
})
},
getCommunity() {
this.$http.post('/actual/base/iccommunityselforganization/community-self-org-detail/' + this.id).then(({data: {data}}) => {
this.detail = data;
this.detail = data || {};
})
},
getGridOperator() {
this.$http.post('/data/aggregator/org/staffdetailv2?staffId=' + this.id,{staffId: this.id}).then(({data: {data}}) => {
this.detail = data;
this.detail = data || {};
})
},
}

7
src/views/dataBoard/overview/components/MapResourceInfoMore.vue

@ -339,7 +339,12 @@ export default {
handleViews({serviceRecordId}) {
this.rowId = serviceRecordId
this.showDialog = true
}
},
getAgeByDateOfBirth(dateOfBirth) {
let birthDate = this.$moment(dateOfBirth);
let age = this.$moment().diff(birthDate, 'years');
return age;
},
}
}
</script>

121
src/views/dataBoard/overview/components/ResourceScheduling.vue

@ -40,15 +40,35 @@
}}
</template>
</el-table-column>
<el-table-column label="所属组织" min-width="180" prop="orgName"/>
<el-table-column label="姓名/名称" min-width="120" prop="name"/>
<el-table-column label="联系电话" min-width="120" prop="mobile">
<el-table-column v-if="peopleType !== '4' && peopleType !== '5'" label="所属组织" min-width="180"
prop="orgName"/>
<el-table-column v-if="peopleType !== '4' && peopleType !== '5'" label="姓名/名称" min-width="120"
prop="name"/>
<el-table-column v-if="peopleType !== '4' && peopleType !== '5'" label="联系电话" min-width="120"
prop="mobile">
<template slot-scope="scope">
{{ $sensitive(scope.row.mobile, 3, 7) }}
</template>
</el-table-column>
<!-- <el-table-column label="状态" prop="" width="120"/>-->
<!-- <el-table-column label="距离" prop="" width="120"/>-->
<el-table-column v-if="peopleType === '4'" label="所属组织" min-width="180" prop="agencyName"/>
<el-table-column v-if="peopleType === '4'" label="负责人" min-width="120" prop="principalName"/>
<el-table-column v-if="peopleType === '4'" label="联系电话" min-width="120" prop="principalPhone">
<template slot-scope="scope">
{{ $sensitive(scope.row.principalPhone, 3, 7) }}
</template>
</el-table-column>
<el-table-column v-if="peopleType === '5'" label="所属组织" min-width="180" prop="agencyName"/>
<el-table-column v-if="peopleType === '5'" label="联系人" min-width="120" prop="contact"/>
<el-table-column v-if="peopleType === '5'" label="联系电话" min-width="120" prop="contactMobile">
<template slot-scope="scope">
{{ $sensitive(scope.row.mobile, 3, 7) }}
</template>
</el-table-column>
<el-table-column label="操作" prop="op" width="250">
<template slot-scope="scope">
<CallPhone :mobile="scope.row.mobile" text="拨打电话"/>
@ -63,7 +83,9 @@
</div>
</div>
</el-dialog>
<ResourceInfo ref="ResourceInfo"/>
<MapResourceInfo ref="MapResourceInfo" :currentLevelData="currentLevelData"/>
</div>
</template>
@ -71,10 +93,11 @@
import Title from "@/views/dataBoard/satisfactionEval/components/Title";
import CallPhone from "@/views/dataBoard/cpts/CallPhone";
import ResourceInfo from "@/views/dataBoard/overview/components/ResourceInfo";
import MapResourceInfo from "@/views/dataBoard/overview/components/MapResourceInfo.vue";
export default {
name: "ResourceScheduling",
components: {Title, CallPhone, ResourceInfo},
components: {Title, CallPhone, ResourceInfo, MapResourceInfo},
props: {
currentLevelData: {
type: Object,
@ -87,29 +110,34 @@ export default {
loading: false,
dialogVisible: false,
list: [],
peopleType: "staffAgency",
peopleType: "staffGrid",
data: [
{
label: '人资源',
children: [{
label: '社区工作者',
value: 'staffAgency'
}, {
label: '网格员',
value: 'staffGrid'
}, {
label: '楼组/单元长',
value: 'chief'
}, {
label: '公益岗',
value: 'publicWelfareNum'
}, {
label: '单位/组织',
value: 'staffDepartment'
}, {
label: '志愿者',
value: 'volunteer'
}]
label: "网格员",
value: "staffGrid",
},
{
label: "公益岗",
value: "publicWelfareNum",
},
{
label: "志愿者",
value: "volunteer",
},
{
label: "社区自组织",
value: "4",
},
{
label: "联建单位",
value: "5",
},
{
label: "15分钟生活圈商家",
value: "6",
},]
}, {
label: '物资源',
children: []
@ -143,16 +171,53 @@ export default {
this.list = data.personnelInfoVOList;
});
},
handleViews() {
this.$refs.ResourceInfo.open()
getZzzList() {
this.loading = true;
this.$http.post('/actual/base/iccommunityselforganization/communityselforganizationlist', {
agencyId: this.currentLevelData.orgId,
...this.queryParams
}).then(res => {
this.loading = false;
this.list = res.data.data.list;
this.total = res.data.data.total;
})
},
getLjdwList() {
this.loading = true;
this.$http.post('/actual/base/icpartyunit/list', {
agencyId: this.currentLevelData.orgId,
...this.queryParams
}).then(res => {
this.loading = false;
this.list = res.data.data.list;
this.total = res.data.data.total;
})
},
handleViews(data) {
// 12345
let type = this.peopleType === 'volunteer' ? 1 :
this.peopleType === '5' ? 2 :
this.peopleType === '4' ? 3 :
this.peopleType === 'staffGrid' ? 4 :
this.peopleType === 'publicWelfareNum' ? 5 : ''
this.$refs.MapResourceInfo.open(type === 3 ? data.agencyId : data.id, type)
},
/* handleViews() {
this.$refs.ResourceInfo.open()
},*/
handleNodeClick(data) {
console.log(data.value)
if (data.value) {
this.peopleType = data.value;
console.log(data);
if (this.peopleType === '4') {
this.getZzzList();
} else if (this.peopleType === '5') {
this.getLjdwList();
} else {
this.getList()
}
}
},
handleHandle(data) {
this.handleClose()
@ -170,14 +235,14 @@ export default {
.handle {
font-size: 14px;
margin-left: 10px;
color: #9A69EC;
cursor: pointer;
color: #9A69EC;
}
.view {
font-size: 14px;
margin-left: 10px;
color: #007FF1;
cursor: pointer;
color: #007FF1;
}
</style>

2
src/views/dataBoard/satisfactionEval/dissatisfieReason/index.vue

@ -182,7 +182,7 @@ export default {
}
return [startTime, endTime];
},
handleView(id) {
handleView({id}) {
this.id = id;
this.$refs.detail.open(id);
},

Loading…
Cancel
Save