Browse Source

对接督办修改事项详情组件区分12345和普通事件

v1.1
战立标 2 years ago
parent
commit
d4128dad1d
  1. 3
      src/views/dataBoard/overview/components/Bmysxxq.vue
  2. 23
      src/views/dataBoard/overview/components/EventDetail.vue
  3. 15
      src/views/dataBoard/overview/components/MapDialog/DifficultyCharts.vue
  4. 1
      src/views/dataBoard/overview/components/MapDialog/Njjwtqk.vue
  5. 188
      src/views/dataBoard/overview/components/ResourceInfo.vue
  6. 11
      src/views/dataBoard/overview/components/ResourceScheduling.vue
  7. 2
      src/views/dataBoard/overview/components/ServiceDetails.vue
  8. 38
      src/views/dataBoard/overview/components/Supervision.vue
  9. 2
      src/views/dataBoard/overview/components/map-top.vue
  10. 2
      src/views/dataBoard/overview/components/wtqd.vue

3
src/views/dataBoard/overview/components/Bmysxxq.vue

@ -206,9 +206,6 @@ export default {
handleDispatch() { handleDispatch() {
this.$refs.ResourceScheduling.open() this.$refs.ResourceScheduling.open()
}, },
handleSupervision() {
this.$refs.supervision.open()
},
async getDictOptions() { async getDictOptions() {
this.$http this.$http
.post("/sys/dict/data/dictlist", { .post("/sys/dict/data/dictlist", {

23
src/views/dataBoard/overview/components/EventDetail.vue

@ -233,6 +233,10 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
is12345: {
type: Boolean,
default: true
}
}, },
data() { data() {
@ -276,7 +280,7 @@ export default {
this.$refs.ResourceScheduling.open() this.$refs.ResourceScheduling.open()
}, },
handleSupervision() { handleSupervision() {
this.$refs.supervision.open() this.$refs.supervision.open(this.item,this.id, 'event')
}, },
openImg(src) { openImg(src) {
window.open(src); window.open(src);
@ -288,8 +292,15 @@ export default {
getDetailsData(id) { getDetailsData(id) {
this.loading = true; this.loading = true;
console.log(this.is12345)
let url
if(this.is12345) {
url = "/governance/icEvent/detail"
} else {
url = "/governance/icEventOld/detail"
}
this.$http this.$http
.post("/governance/icEventOld/detail", {icEventId: id}) .post(url, {icEventId: id})
.then((res) => { .then((res) => {
const {code, data, msg} = res.data; const {code, data, msg} = res.data;
if (code === 0) { if (code === 0) {
@ -303,8 +314,14 @@ export default {
}, },
getProcessData(id) { getProcessData(id) {
let url
if(this.is12345) {
url = "/governance/icEvent/process"
} else {
url = "/governance/icEventOld/process"
}
this.$http this.$http
.post("/governance/icEventOld/process", {icEventId: id}) .post(url, {icEventId: id})
.then((res) => { .then((res) => {
const {code, data, msg} = res.data; const {code, data, msg} = res.data;
if (code === 0) { if (code === 0) {

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

@ -24,7 +24,10 @@ export default {
return {} return {}
}, },
mounted() { mounted() {
this.$http.get('/governance/icEventOld/statisticsByCategory?agencyId=' + this.currentLevelData.orgId+'&type=2').then(({data: {data}}) => { this.$http.post('/governance/icEventOld/statisticsByCategory?agencyId=' + this.currentLevelData.orgId+'&type=2',{
agencyId:this.currentLevelData.orgId,
type: 2
}).then(({data: {data}}) => {
this.initCharts(data ? data : []) this.initCharts(data ? data : [])
}) })
}, },
@ -34,12 +37,12 @@ export default {
this.myChart = echarts.init(div); this.myChart = echarts.init(div);
let chartData = data.map((item) => { let chartData = data.map((item) => {
return { return {
name: item.name, categoryName: item.categoryName,
count: item.value, total: item.total,
}; };
}) })
let xData = chartData.map(item => item.name); let xData = chartData.map(item => item.categoryName);
let yData = chartData.map(item => item.value) let yData = chartData.map(item => item.total)
let color = [[ let color = [[
{ {
offset: 0, offset: 0,
@ -82,7 +85,7 @@ export default {
{ {
"type": "slider", "type": "slider",
"start": 0, "start": 0,
"end": parseInt((5 / xData.length) * 10) / 10 * 100, "end": parseInt((10 / xData.length) * 10) / 10 * 100,
"height": 10, "height": 10,
"bottom": 0, "bottom": 0,
"showDetail": false, "showDetail": false,

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

@ -33,6 +33,7 @@
:showDialog="showDialog" :showDialog="showDialog"
@close="showDialog = false" @close="showDialog = false"
@ok="getList" @ok="getList"
:is12345="false"
/> />
<EventDispatchOrder v-if="isEventDispatchOrder" ref="EventDispatchOrder" @close="isEventDispatchOrder = false" <EventDispatchOrder v-if="isEventDispatchOrder" ref="EventDispatchOrder" @close="isEventDispatchOrder = false"
@ok="handleSure"/> @ok="handleSure"/>

188
src/views/dataBoard/overview/components/ResourceInfo.vue

@ -1,4 +1,5 @@
<template> <template>
<div>
<div class="dialog-small"> <div class="dialog-small">
<el-dialog <el-dialog
@ -6,7 +7,6 @@
:modal="true" :modal="true"
:modal-append-to-body="false" :modal-append-to-body="false"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
class="dissatisfied-detail"
title="" title=""
width="416px" width="416px"
> >
@ -16,34 +16,109 @@
<div class="content"> <div class="content">
<div class="items"> <div class="items">
<div class="label">资源类型</div> <div class="label">资源类型</div>
<div class="value">网格员</div> <div class="value">{{ typeList[type] }}</div>
</div>
<template v-if="type === 2">
<div class="items">
<div class="label">单位名称</div>
<div class="value">{{ detail.unitName }}</div>
</div>
<div class="items">
<div class="label">分类</div>
<div class="value">{{ detail.typeName }}</div>
</div>
<div class="items">
<div class="label">服务事项</div>
<div class="value">{{ detail.serviceMatterNameList ? detail.serviceMatterNameList.join('、') : '' }}</div>
</div>
<div class="items">
<div class="label">联系人</div>
<div class="value">{{ detail.contact }}</div>
</div> </div>
<div class="items"> <div class="items">
<div class="label">联系电话</div> <div class="label">联系电话</div>
<div class="value">133****8989</div> <div class="value">{{ detail.contactMobile }}</div>
<CallPhone icon="el-icon-phone"/> <CallPhone icon="el-icon-phone"/>
</div> </div>
<div class="items">
<div class="label">地理位置</div>
<div class="value">{{ detail.address }}</div>
</div>
</template>
<template v-if="type === 3">
<div class="items">
<div class="label">组织名称</div>
<div class="value">{{ detail.organizationName }}</div>
</div>
<div class="items">
<div class="label">分类</div>
<div class="value">{{ detail.categoryName }}</div>
</div>
<div class="items">
<div class="label">服务事项</div>
<div class="value">{{ detail.serviceItem }}</div>
</div>
<div class="items"> <div class="items">
<div class="label">联系人</div> <div class="label">联系人</div>
<div class="value">王军</div> <div class="value">{{ detail.principalName }}</div>
</div>
<div class="items">
<div class="label">联系电话</div>
<div class="value">{{ detail.principalPhone }}</div>
<CallPhone icon="el-icon-phone"/>
</div>
<div class="items">
<div class="label">地理位置</div>
<div class="value">{{ detail.address }}</div>
</div>
</template>
<template v-if="type === 4 || type === 5 || type === 1">
<div class="items">
<div class="label">姓名</div>
<div class="value">{{ detail.name }}</div>
</div> </div>
<div class="items"> <div class="items">
<div class="label">联系电话</div>
<div class="value">{{ detail.mobile }}</div>
<CallPhone icon="el-icon-phone"/>
</div>
<div class="items">
<div class="label">年龄</div>
<div class="value">{{ detail.birthday?getAgeByDateOfBirth(detail.birthday):'未知' }}</div>
</div>
<div class="items">
<div class="label">学历</div>
<div class="value">{{ education?education.cultureLevelName:'' }}</div>
</div>
<!-- <div class="items">
<div class="label">状态</div> <div class="label">状态</div>
<div class="value">巡查中</div> <div class="value">巡查中</div>
</div> </div>-->
<div class="items"> <div class="items">
<div class="label">所在位置</div> <div class="label">所在位置</div>
<div class="value">xxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div> <div class="value">{{ detail.houseInfo.homeName }}</div>
</div>
<div class="items">
<div class="label">兴趣爱好</div>
<div class="value">{{ hobby?hobby.hobbyRemark:'' }}</div>
</div> </div>
</template>
<div class="btn-group"> <div class="btn-group">
<el-button class="sure" plain round type="warning" @click="handleSure">派单</el-button> <el-button class="sure" plain round type="warning" @click="handleSure">派单</el-button>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
</div>
</template> </template>
<script> <script>
@ -51,33 +126,117 @@ import Title from "@/views/dataBoard/satisfactionEval/components/Title";
import CallPhone from "@/views/dataBoard/cpts/CallPhone"; import CallPhone from "@/views/dataBoard/cpts/CallPhone";
export default { export default {
name: "Supervision", name: "MapResourceInfo",
components: {Title, CallPhone}, components: {Title, CallPhone},
props: {
currentLevelData: {
type: Object,
default: () => {}
}
},
data() { data() {
return { return {
dialogVisible: false, dialogVisible: false,
explain: "" explain: "",
id: '',
detail: '',
type: '',
typeList: {
1: '志愿者',
2: '联建单位',
3: '社区自组织',
4: '网格员',
5: '公益岗'
},
education: '',
hobby: '',
rowData: {}
} }
}, },
mounted() { mounted() {
}, },
methods: { methods: {
getAgeByDateOfBirth(dateOfBirth) {
let birthDate = this.$moment(dateOfBirth);
let age = this.$moment().diff(birthDate, 'years');
return age;
},
handleClose(done) { handleClose(done) {
this.dialogVisible = false; this.dialogVisible = false;
}, },
open(id) { open(id, type,rowData) {
console.log(id, type)
//type 12345
this.dialogVisible = true; this.dialogVisible = true;
this.id = id
this.type = type
this.getData(type)
this.rowData = rowData
}, },
handleSure() { handleSure() {
this.$emit('ok',this.rowData)
},
getData(type) {
if (type === 1) {
this.getVolunteer()
}
if (type === 2) {
this.getCompany()
}
if (type === 3) {
this.getCommunity()
} }
if (type === 4) {
this.getGridOperator()
}
if (type === 5) {
this.getVolunteer()
}
},
// 使/actual/base/icpartyunit/detail
// 使/actual/base/iccommunityselforganization/community-self-org-detail/{id}
// /actual/base/residentBaseInfo/detail/{resi-id} +
// /actual/base/residentEduInfo/detail/{resi-id} +
// /actual/base/residentHobbyInfo/detail/{resi-id}
// /data/aggregator/org/staffdetailv2 apifox
//
getVolunteer() {
this.$http.post('/actual/base/residentBaseInfo/detail/' + this.id).then(({data: {data}}) => {
this.detail = data || {};
})
this.$http.get('/actual/base/residentEduInfo/detail/' + this.id).then(({data: {data}}) => {
this.education = data || {};
})
this.$http.get('/actual/base/residentHobbyInfo/detail/' + this.id).then(({data: {data}}) => {
this.hobby = data || {};
})
},
getCompany() {
this.$http.post('/actual/base/icpartyunit/detail?id=' + this.id, {id: this.id}).then(({data: {data}}) => {
this.detail = data || {};
})
},
getCommunity() {
this.$http.post('/actual/base/iccommunityselforganization/community-self-org-detail/' + this.id).then(({data: {data}}) => {
this.detail = data || {};
})
},
getGridOperator() {
this.$http.post('/data/aggregator/org/staffdetailv2?staffId=' + this.id,{staffId: this.id}).then(({data: {data}}) => {
this.detail = data || {};
})
},
} }
} }
</script> </script>
<style lang="scss" scoped src="@/assets/scss/dataBoard/dialog-small.scss"></style>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "~@/assets/scss/dataBoard/dialog-small.scss";
.content { .content {
padding: 0 25px; padding: 0 25px;
@ -91,6 +250,7 @@ export default {
.label { .label {
color: #9CB4D3; color: #9CB4D3;
white-space: nowrap;
} }
.value { .value {
@ -99,12 +259,6 @@ export default {
} }
} }
/deep/ .el-textarea__inner {
color: #fff;
border: 1px solid #0E3978;
border-radius: 2px;
background: rgba(0, 23, 66, 0.72);
}
.btn-group { .btn-group {
display: flex; display: flex;

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

@ -83,21 +83,18 @@
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
<MapResourceInfo ref="MapResourceInfo" :currentLevelData="currentLevelData"/> <ResourceInfo ref="ResourceInfo" @ok="handleHandle" :currentLevelData="currentLevelData"/>
</div> </div>
</template> </template>
<script> <script>
import Title from "@/views/dataBoard/satisfactionEval/components/Title"; import Title from "@/views/dataBoard/satisfactionEval/components/Title";
import CallPhone from "@/views/dataBoard/cpts/CallPhone"; import CallPhone from "@/views/dataBoard/cpts/CallPhone";
import ResourceInfo from "@/views/dataBoard/overview/components/ResourceInfo"; import ResourceInfo from "@/views/dataBoard/overview/components/ResourceInfo.vue";
import MapResourceInfo from "@/views/dataBoard/overview/components/MapResourceInfo.vue";
export default { export default {
name: "ResourceScheduling", name: "ResourceScheduling",
components: {Title, CallPhone, ResourceInfo, MapResourceInfo}, components: {Title, CallPhone, ResourceInfo},
props: { props: {
currentLevelData: { currentLevelData: {
type: Object, type: Object,
@ -200,7 +197,7 @@ export default {
this.peopleType === '4' ? 3 : this.peopleType === '4' ? 3 :
this.peopleType === 'staffGrid' ? 4 : this.peopleType === 'staffGrid' ? 4 :
this.peopleType === 'publicWelfareNum' ? 5 : '' this.peopleType === 'publicWelfareNum' ? 5 : ''
this.$refs.MapResourceInfo.open(type === 3 ? data.agencyId : data.id, type) this.$refs.ResourceInfo.open(type === 3 ? data.agencyId : data.id, type,data)
}, },
/* handleViews() { /* handleViews() {
this.$refs.ResourceInfo.open() this.$refs.ResourceInfo.open()

2
src/views/dataBoard/overview/components/ServiceDetails.vue

@ -208,7 +208,7 @@ export default {
this.$refs.ResourceScheduling.open() this.$refs.ResourceScheduling.open()
}, },
handleSupervision() { handleSupervision() {
this.$refs.supervision.open() this.$refs.supervision.open(this.detail, this.demandRecId,'services')
}, },
handleCancel() { handleCancel() {
this.isSelect = false; this.isSelect = false;

38
src/views/dataBoard/overview/components/Supervision.vue

@ -16,28 +16,28 @@
<div class="content"> <div class="content">
<div class="items"> <div class="items">
<div class="label">当前办理部门</div> <div class="label">当前办理部门</div>
<div class="value">XXX社区</div> <div class="value">{{ detail.gridName || detail.gridName || '' }}</div>
</div> </div>
<div class="items"> <div class="items">
<div class="label">转入该部门时间</div> <div class="label">转入该部门时间</div>
<div class="value">2023-09-10 15:30</div> <div class="value">{{detail.happenTime || detail.serviceStartTime || ''}}</div>
</div> </div>
<div class="items"> <div class="items">
<div class="label">联系人</div> <div class="label">联系人</div>
<div class="value">王军</div> <div class="value">{{detail.name || detail.demandUserName || ''}}</div>
</div> </div>
<div class="items"> <div class="items">
<div class="label">联系电话</div> <div class="label">联系电话</div>
<div class="value">133****8989</div> <div class="value">{{detail.mobile || detail.demandUserMobile || ''}}</div>
<CallPhone icon="el-icon-phone"/> <CallPhone icon="el-icon-phone"/>
</div> </div>
<div class="items"> <div class="items">
<div class="label">时间状态</div> <div class="label">状态</div>
<div class="value">办理中</div> <div class="value">{{ detail.statusName}}</div>
</div> </div>
<div class="items"> <div class="items">
@ -45,7 +45,7 @@
</div> </div>
<div class="items"> <div class="items">
<el-input <el-input
v-model="explain" v-model="content"
:autosize="{ minRows: 5, maxRows: 10}" :autosize="{ minRows: 5, maxRows: 10}"
class="input" class="input"
maxlength="500" maxlength="500"
@ -66,13 +66,16 @@
import Title from "@/views/dataBoard/satisfactionEval/components/Title"; import Title from "@/views/dataBoard/satisfactionEval/components/Title";
import CallPhone from "@/views/dataBoard/cpts/CallPhone"; import CallPhone from "@/views/dataBoard/cpts/CallPhone";
export default { export default {
name: "Supervision", name: "Supervision",
components: {Title, CallPhone}, components: {Title, CallPhone},
data() { data() {
return { return {
dialogVisible: false, dialogVisible: false,
explain: "" content: "",
detail: {},
type: ''
} }
}, },
mounted() { mounted() {
@ -82,11 +85,28 @@ export default {
handleClose(done) { handleClose(done) {
this.dialogVisible = false; this.dialogVisible = false;
}, },
open(id) { open(data,id,type) {
this.dialogVisible = true; this.dialogVisible = true;
console.log(data,'data')
this.detail = data || {}
this.id = id
this.type = type;
}, },
handleSure() { handleSure() {
this.$http.post('/governance/userdemand/urgent_supervision',{
type: this.type,
eventid: this.id,
serviceId: this.id,
content: this.content
}).then(({data: {data,code,msg}}) => {
if (code == 0) {
this.$message.success('提交成功')
this.handleClose()
} else {
this.$message.error(msg)
}
})
} }
} }
} }

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

@ -18,7 +18,7 @@
<el-button slot="append" type="primary" @click="search">搜索</el-button> <el-button slot="append" type="primary" @click="search">搜索</el-button>
</el-autocomplete> </el-autocomplete>
<ServiceDetails ref="ServiceDetails"/> <ServiceDetails ref="ServiceDetails"/>
<EventDetails :id="rowId" :showDialog="showDialog" @close="showDialog = false"/> <EventDetails :id="rowId" :is12345="false" :showDialog="showDialog" @close="showDialog = false"/>
<MapResourceInfo ref="MapResourceInfo" :currentLevelData="currentLevelData"/> <MapResourceInfo ref="MapResourceInfo" :currentLevelData="currentLevelData"/>
<DissatisfiedDetails ref="DissatisfiedDetails" :id="rowId" :currentLevelData="currentLevelData" /> <DissatisfiedDetails ref="DissatisfiedDetails" :id="rowId" :currentLevelData="currentLevelData" />

2
src/views/dataBoard/overview/components/wtqd.vue

@ -132,7 +132,7 @@
<div class="f-darkGray"><b class="f-font34 f-skyBlue">{{ selfInspectNum || 0 }}</b></div> <div class="f-darkGray"><b class="f-font34 f-skyBlue">{{ selfInspectNum || 0 }}</b></div>
</div> </div>
</div> </div>
<EventDetails :id="this.rowId" :showDialog="showDialog" @close="close"/> <EventDetails :id="this.rowId" :is12345="false" :showDialog="showDialog" @close="close"/>
</div> </div>
</template> </template>

Loading…
Cancel
Save