jiangyy 3 years ago
parent
commit
7a3adcd9a7
  1. 34
      src/assets/scss/modules/visual/a_customize.scss
  2. 2
      src/views/modules/shequzhili/event/cpts/event-info.vue
  3. 2
      src/views/modules/shequzhili/event/eventList.vue
  4. 362
      src/views/modules/visual/basicinfo/people.vue
  5. 177
      src/views/modules/visual/communityGovern/fivelayers/eventInfo.vue
  6. 36
      src/views/modules/visual/communityGovern/fivelayers/mapIndex.vue
  7. 211
      src/views/modules/visual/measure/dialogInfo.vue

34
src/assets/scss/modules/visual/a_customize.scss

@ -0,0 +1,34 @@
@import '../../c/config';
@import '../../c/function';
@import './c/common';
.single-select {
margin: 0 10px 0 10px;
::v-deep .el-input {
width: 180px;
height: 36px;
.el-input__inner {
height: 100%;
padding: 0 10px;
color: #fff;
line-height: 36px;
background: #06186d;
border: 1px solid #1a64cc;
}
.el-icon-arrow-up:before {
content: '\e78f';
}
// .el-select__caret:before {
// content: '\E790'
// }
}
}

2
src/views/modules/shequzhili/event/cpts/event-info.vue

@ -280,7 +280,7 @@ export default {
Object.keys(data).forEach((k) => {
this[k] = data[k];
});
this.getApiData();
// this.getApiData();
},
},

2
src/views/modules/shequzhili/event/eventList.vue

@ -578,8 +578,6 @@ export default {
},
async handleWatch (row) {
this.eventId = row.icEventId
this.eventId = row.icEventId
const url = "/gov/project/icEvent/detail";
// const url = "http://yapi.elinkservice.cn/mock/245/gov/project/icEvent/detail";

362
src/views/modules/visual/basicinfo/people.vue

@ -1,12 +1,11 @@
<template>
<div class="g-wrr">
<div class="g-bread" v-if="breadList.length > 1">
<div class="g-bread"
v-if="breadList.length > 1">
<el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item
v-for="item in breadList"
<el-breadcrumb-item v-for="item in breadList"
:key="item.path"
:to="{ path: item.path }"
>
:to="{ path: item.path }">
{{ item.meta.title }}
</el-breadcrumb-item>
</el-breadcrumb>
@ -20,9 +19,11 @@
<img src="@/assets/img/shuju/title-tip.png" />
<span>人员情况</span>
</div>
<div class="more" @click="showedMoreInfo = true">查看更多</div>
<div class="more"
@click="showedMoreInfo = true">查看更多</div>
<div class="ren">
<img class="pic-ren" src="@/assets/img/shuju/people/ren.png" />
<img class="pic-ren"
src="@/assets/img/shuju/people/ren.png" />
<div class="ren-name">
<span>{{ info.name }}</span>
<img src="@/assets/img/shuju/people/arrow.png" />
@ -119,13 +120,11 @@
</cpt-card>
</div>
<people-more
v-show="showedMoreInfo"
<people-more v-show="showedMoreInfo"
v-if="userId"
:userId="userId"
:gridName="info.gridName"
@close="showedMoreInfo = false"
/>
@close="showedMoreInfo = false" />
<div class="m-relation">
<cpt-card>
@ -135,14 +134,10 @@
</div>
<div class="info">
<div class="huzhu">
<img
class="huzhu-bg"
src="@/assets/img/shuju/people/huzhu.png"
/>
<img
class="huzhu-ico"
src="@/assets/img/shuju/people/huzhu-home.png"
/>
<img class="huzhu-bg"
src="@/assets/img/shuju/people/huzhu.png" />
<img class="huzhu-ico"
src="@/assets/img/shuju/people/huzhu-home.png" />
<div class="huzhu-name">
{{
houseInfo && houseInfo.ownerName
@ -153,23 +148,15 @@
<p>户主</p>
</div>
<div
class="rel z-zuo-2"
<div class="rel z-zuo-2"
@click="toUserInfo(houseInfo.userList[0].userId)"
v-if="houseInfo.userList[0]"
>
<img
class="rel-bg"
src="@/assets/img/shuju/people/huzhu-kuang-zuo.png"
/>
<img
class="rel-line"
src="@/assets/img/shuju/people/huzhu-line/zuo2.png"
/>
<div
class="rel-text"
:class="houseInfo.userList[0].isSelf == '1' ? 'z-on' : ''"
>
v-if="houseInfo.userList[0]">
<img class="rel-bg"
src="@/assets/img/shuju/people/huzhu-kuang-zuo.png" />
<img class="rel-line"
src="@/assets/img/shuju/people/huzhu-line/zuo2.png" />
<div class="rel-text"
:class="houseInfo.userList[0].isSelf == '1' ? 'z-on' : ''">
<div class="rel-call">
{{ houseInfo.userList[0].relation }}
</div>
@ -179,23 +166,15 @@
</div>
</div>
<div
class="rel z-you-2"
<div class="rel z-you-2"
@click="toUserInfo(houseInfo.userList[1].userId)"
v-if="houseInfo.userList[1]"
>
<img
class="rel-bg"
src="@/assets/img/shuju/people/huzhu-kuang-you.png"
/>
<img
class="rel-line"
src="@/assets/img/shuju/people/huzhu-line/you2.png"
/>
<div
class="rel-text"
:class="houseInfo.userList[1].isSelf == '1' ? 'z-on' : ''"
>
v-if="houseInfo.userList[1]">
<img class="rel-bg"
src="@/assets/img/shuju/people/huzhu-kuang-you.png" />
<img class="rel-line"
src="@/assets/img/shuju/people/huzhu-line/you2.png" />
<div class="rel-text"
:class="houseInfo.userList[1].isSelf == '1' ? 'z-on' : ''">
<div class="rel-call">
{{ houseInfo.userList[1].relation }}
</div>
@ -205,23 +184,15 @@
</div>
</div>
<div
class="rel z-zuo-1"
<div class="rel z-zuo-1"
@click="toUserInfo(houseInfo.userList[2].userId)"
v-if="houseInfo.userList[2]"
>
<img
class="rel-bg"
src="@/assets/img/shuju/people/huzhu-kuang-zuo.png"
/>
<img
class="rel-line"
src="@/assets/img/shuju/people/huzhu-line/zuo1.png"
/>
<div
class="rel-text"
:class="houseInfo.userList[2].isSelf == '1' ? 'z-on' : ''"
>
v-if="houseInfo.userList[2]">
<img class="rel-bg"
src="@/assets/img/shuju/people/huzhu-kuang-zuo.png" />
<img class="rel-line"
src="@/assets/img/shuju/people/huzhu-line/zuo1.png" />
<div class="rel-text"
:class="houseInfo.userList[2].isSelf == '1' ? 'z-on' : ''">
<div class="rel-call">
{{ houseInfo.userList[2].relation }}
</div>
@ -231,23 +202,15 @@
</div>
</div>
<div
class="rel z-you-1"
<div class="rel z-you-1"
@click="toUserInfo(houseInfo.userList[3].userId)"
v-if="houseInfo.userList[3]"
>
<img
class="rel-bg"
src="@/assets/img/shuju/people/huzhu-kuang-you.png"
/>
<img
class="rel-line"
src="@/assets/img/shuju/people/huzhu-line/you1.png"
/>
<div
class="rel-text"
:class="houseInfo.userList[3].isSelf == '1' ? 'z-on' : ''"
>
v-if="houseInfo.userList[3]">
<img class="rel-bg"
src="@/assets/img/shuju/people/huzhu-kuang-you.png" />
<img class="rel-line"
src="@/assets/img/shuju/people/huzhu-line/you1.png" />
<div class="rel-text"
:class="houseInfo.userList[3].isSelf == '1' ? 'z-on' : ''">
<div class="rel-call">
{{ houseInfo.userList[3].relation }}
</div>
@ -257,23 +220,15 @@
</div>
</div>
<div
class="rel z-zuo-3"
<div class="rel z-zuo-3"
@click="toUserInfo(houseInfo.userList[4].userId)"
v-if="houseInfo.userList[4]"
>
<img
class="rel-bg"
src="@/assets/img/shuju/people/huzhu-kuang-zuo.png"
/>
<img
class="rel-line"
src="@/assets/img/shuju/people/huzhu-line/zuo3.png"
/>
<div
class="rel-text"
:class="houseInfo.userList[4].isSelf == '1' ? 'z-on' : ''"
>
v-if="houseInfo.userList[4]">
<img class="rel-bg"
src="@/assets/img/shuju/people/huzhu-kuang-zuo.png" />
<img class="rel-line"
src="@/assets/img/shuju/people/huzhu-line/zuo3.png" />
<div class="rel-text"
:class="houseInfo.userList[4].isSelf == '1' ? 'z-on' : ''">
<div class="rel-call">
{{ houseInfo.userList[4].relation }}
</div>
@ -283,23 +238,15 @@
</div>
</div>
<div
class="rel z-you-3"
<div class="rel z-you-3"
@click="toUserInfo(houseInfo.userList[5].userId)"
v-if="houseInfo.userList[5]"
>
<img
class="rel-bg"
src="@/assets/img/shuju/people/huzhu-kuang-you.png"
/>
<img
class="rel-line"
src="@/assets/img/shuju/people/huzhu-line/you3.png"
/>
<div
class="rel-text"
:class="houseInfo.userList[5].isSelf == '1' ? 'z-on' : ''"
>
v-if="houseInfo.userList[5]">
<img class="rel-bg"
src="@/assets/img/shuju/people/huzhu-kuang-you.png" />
<img class="rel-line"
src="@/assets/img/shuju/people/huzhu-line/you3.png" />
<div class="rel-text"
:class="houseInfo.userList[5].isSelf == '1' ? 'z-on' : ''">
<div class="rel-call">
{{ houseInfo.userList[5].relation }}
</div>
@ -321,23 +268,21 @@
</div>
<div class="tb">
<cpt-tb
:col-list="demand.colList"
<cpt-tb :col-list="demand.colList"
:loading="demand.loading"
:header="demand.header"
:list="demand.list"
@operate="handleOperateDemandList"
></cpt-tb>
@operate="handleOperateDemandList"></cpt-tb>
<div class="m-pagination" v-if="demand.total > demand.pageSize">
<div class="m-pagination"
v-if="demand.total > demand.pageSize">
<el-pagination hide-on-single-page
:current-page="demand.pageNo"
:page-size="demand.pageSize"
:total="demand.total"
background
layout="prev, pager, next"
@current-change="handlePageNoChangeDemand"
>
@current-change="handlePageNoChangeDemand">
</el-pagination>
</div>
</div>
@ -349,86 +294,70 @@
<cpt-card>
<div class="title">
<img src="@/assets/img/shuju/title-tip.png" />
<a
:class="{ 'z-on': showedIncidentOrTopic == 'incident' }"
@click="showedIncidentOrTopic = 'incident'"
>上报事件</a
>
<a
:class="{ 'z-on': showedIncidentOrTopic == 'topic' }"
@click="showedIncidentOrTopic = 'topic'"
>发布话题</a
>
</div>
<div
class="list-wrap"
v-show="showedIncidentOrTopic == 'incident'"
>
<a :class="{ 'z-on': showedIncidentOrTopic == 'incident' }"
@click="showedIncidentOrTopic = 'incident'">上报事件</a>
<a :class="{ 'z-on': showedIncidentOrTopic == 'topic' }"
@click="showedIncidentOrTopic = 'topic'">发布话题</a>
</div>
<div class="list-wrap"
v-show="showedIncidentOrTopic == 'incident'">
<div class="list">
<div
class="item"
<div class="item"
:key="'incident' + index"
v-for="(item, index) in incident.list"
@click="handleClickIncident(index)"
>
@click="handleClickIncident(index)">
<div class="item-title">{{ item.eventContent }}</div>
<div class="item-date">{{ item.reportTime }}</div>
</div>
</div>
<div
class="m-pagination"
v-if="incident.total > incident.pageSize"
>
<div class="m-pagination"
v-if="incident.total > incident.pageSize">
<el-pagination hide-on-single-page
:current-page="incident.pageNo"
:page-size="incident.pageSize"
:total="incident.total"
background
layout="prev, pager, next"
@current-change="handlePageNoChangeIncident"
>
@current-change="handlePageNoChangeIncident">
</el-pagination>
</div>
<div v-if="incident.list.length == 0" class="m-hint">
<img
src="@/assets/img/modules/visual/noData.png"
class="no-data-img"
/>
<div v-if="incident.list.length == 0"
class="m-hint">
<img src="@/assets/img/modules/visual/noData.png"
class="no-data-img" />
</div>
</div>
<div class="list-wrap" v-show="showedIncidentOrTopic == 'topic'">
<div class="list-wrap"
v-show="showedIncidentOrTopic == 'topic'">
<div class="list">
<div
class="item"
<div class="item"
:key="'topic' + index"
v-for="(item, index) in topic.list"
@click="handleClickTopic(index)"
>
@click="handleClickTopic(index)">
<div class="item-title">{{ item.topicContent }}</div>
<div class="item-date">{{ item.releaseTime }}</div>
</div>
</div>
<div class="m-pagination" v-if="topic.total > topic.pageSize">
<div class="m-pagination"
v-if="topic.total > topic.pageSize">
<el-pagination hide-on-single-page
:current-page="topic.pageNo"
:page-size="topic.pageSize"
:total="topic.total"
background
layout="prev, pager, next"
@current-change="handlePageNoChangeTopic"
>
@current-change="handlePageNoChangeTopic">
</el-pagination>
</div>
<div v-if="topic.list.length == 0" class="m-hint">
<img
src="@/assets/img/modules/visual/noData.png"
class="no-data-img"
/>
<div v-if="topic.list.length == 0"
class="m-hint">
<img src="@/assets/img/modules/visual/noData.png"
class="no-data-img" />
</div>
</div>
</cpt-card>
@ -443,12 +372,10 @@
<div class="list-wrap">
<div class="list">
<div
class="item"
<div class="item"
:key="'point' + index"
v-for="(item, index) in point.list"
@click="handleClickPoint(index)"
>
@click="handleClickPoint(index)">
<div class="item-row">
<div class="item-l">
<div class="item-point">{{ item.point }}</div>
@ -461,23 +388,22 @@
</div>
</div>
<div class="m-pagination" v-if="point.total > point.pageSize">
<div class="m-pagination"
v-if="point.total > point.pageSize">
<el-pagination hide-on-single-page
:current-page="point.pageNo"
:page-size="point.pageSize"
:total="point.total"
background
layout="prev, pager, next"
@current-change="handlePageNoChangePoint"
>
@current-change="handlePageNoChangePoint">
</el-pagination>
</div>
<div v-if="point.list.length == 0" class="m-hint">
<img
src="@/assets/img/modules/visual/noData.png"
class="no-data-img"
/>
<div v-if="point.list.length == 0"
class="m-hint">
<img src="@/assets/img/modules/visual/noData.png"
class="no-data-img" />
</div>
</div>
</cpt-card>
@ -485,40 +411,33 @@
</div>
</div>
<demand-info
v-if="demand.list.length > 0 && showedDemandInfo"
<demand-info v-if="demand.list.length > 0 && showedDemandInfo"
:userId="userId"
queryOrigin="personal-data"
:demandId="demand.srcList[demand.currentIndex].demandRecId"
@close="showedDemandInfo = false"
/>
@handleAssignOk="handleAssignOk" />
<template v-if="incident.list.length > 0 && incident.showedInfo">
<incident-info
v-if="
<incident-info v-if="
$store.state.user.customerId == 'b09527201c4409e19d1dbc5e3c3429a1'
"
:resiEventId="incident.list[incident.currentIndex].resiEventId"
:epmetUserIdList="info.epmetUserIdList"
:icResiUserId="userId"
@close="incident.showedInfo = false"
/>
<event-info
v-else
@close="incident.showedInfo = false" />
<event-info v-else
:eventId="incident.list[incident.currentIndex].resiEventId"
:orgId="$store.state.user.agencyId"
orgType="agency"
@close="incident.showedInfo = false"
/>
@close="incident.showedInfo = false" />
</template>
<topic-info
v-if="topic.list.length > 0 && topic.showedInfo"
<topic-info v-if="topic.list.length > 0 && topic.showedInfo"
:topicId="topic.list[topic.currentIndex].topicId"
:epmetUserIdList="info.epmetUserIdList"
:icResiUserId="userId"
@close="topic.showedInfo = false"
/>
@close="topic.showedInfo = false" />
</div>
</div>
</template>
@ -555,7 +474,7 @@ export default {
},
},
data() {
data () {
return {
breadList: [],
showedMoreInfo: false,
@ -659,7 +578,7 @@ export default {
computed: {},
beforeRouteEnter(to, from, next) {
beforeRouteEnter (to, from, next) {
console.log("让我看看", to);
if (from) {
const arr = [{ ...from }, { ...to, meta: { title: "个人详情" } }];
@ -671,14 +590,14 @@ export default {
}
},
watch: {
uid(id) {
uid (id) {
this.userId = id;
},
userId() {
userId () {
this.getApiData();
window.scrollTo(0, 0);
},
$route(route) {
$route (route) {
// if you go to the redirect page, do not update the breadcrumbs
if (route.path.startsWith("/redirect/")) {
return;
@ -687,21 +606,21 @@ export default {
},
},
async mounted() {
async mounted () {
this.userId = this.uid;
console.log(this.$router);
this.getApiData();
},
deactivated() {
deactivated () {
this.breadList = [];
console.log("breadList-----", this.breadList);
},
destroyed() {
destroyed () {
this.breadList = [];
console.log("breadList-----", this.breadList);
},
methods: {
getBreadcrumb() {
getBreadcrumb () {
// only show routes with meta.title
console.log("routest----", this.$route);
let matched = this.$route.matched.filter(
@ -717,16 +636,16 @@ export default {
(item) => item.meta && item.meta.title && item.meta.breadcrumb !== false
);
},
isDashboard(route) {
isDashboard (route) {
const name = route && route.name;
if (!name) {
return false;
}
return name.trim().toLocaleLowerCase() === "Home".toLocaleLowerCase();
},
handleSearch() {},
handleSearch () { },
async getApiData() {
async getApiData () {
await this.getInfo();
this.getHouseInfo();
this.getDemandData();
@ -735,12 +654,12 @@ export default {
this.getPointData();
},
toUserInfo(uid) {
toUserInfo (uid) {
this.$router.push({ path: `/main-shuju/visual-basicinfo-people/${uid}` });
},
//
async getInfo() {
async getInfo () {
const url = "/epmetuser/icresiuser/persondata";
let params = {
userId: this.userId,
@ -756,7 +675,7 @@ export default {
},
//
async getHouseInfo() {
async getHouseInfo () {
const url = "/epmetuser/icresiuser/ownerrelation";
let params = {
userId: this.userId,
@ -771,20 +690,25 @@ export default {
}
},
handlePageNoChangeDemand(val) {
handlePageNoChangeDemand (val) {
this.demand.pageNo = val;
this.getDemandData();
},
handleOperateDemandList(index, type) {
handleOperateDemandList (index, type) {
if (type == "查看") {
this.showedDemandInfo = true;
this.demand.currentIndex = index;
}
},
//
handleAssignOk () {
this.getDemandData();
},
//
async getDemandData() {
async getDemandData () {
const url = "/heart/userdemand/mydemand";
let params = {
epmetUserIdList: this.info.epmetUserIdList,
@ -814,18 +738,18 @@ export default {
}
},
handlePageNoChangeIncident(val) {
handlePageNoChangeIncident (val) {
this.incident.pageNo = val;
this.getIncidentData();
},
handleClickIncident(index) {
handleClickIncident (index) {
this.incident.showedInfo = true;
this.incident.currentIndex = index;
},
//
async getIncidentData() {
async getIncidentData () {
let url = "/gov/project/icEvent/icevent-pageuserreported";
// 沿
@ -853,18 +777,18 @@ export default {
}
},
handlePageNoChangeTopic(val) {
handlePageNoChangeTopic (val) {
this.topic.pageNo = val;
this.getTopicData();
},
handleClickTopic(index) {
handleClickTopic (index) {
this.topic.showedInfo = true;
this.topic.currentIndex = index;
},
//
async getTopicData() {
async getTopicData () {
const url = "/data/aggregator/resigroup/pageusertopic";
let params = {
epmetUserIdList: this.info.epmetUserIdList,
@ -884,18 +808,18 @@ export default {
}
},
handlePageNoChangePoint(val) {
handlePageNoChangePoint (val) {
this.point.pageNo = val;
this.getPointData();
},
handleClickPoint(index) {
handleClickPoint (index) {
this.point.showedInfo = true;
this.point.currentIndex = index;
},
//
async getPointData() {
async getPointData () {
const url = "/point/resi/point/pageuserpoint";
let params = {
epmetUserIdList: this.info.epmetUserIdList,

177
src/views/modules/visual/communityGovern/fivelayers/eventInfo.vue

@ -0,0 +1,177 @@
<template>
<div class="m-pop">
<div class="wrap">
<cpt-card>
<div class="title">
<img src="@/assets/img/shuju/title-tip.png" />
<span>需求详情</span>
</div>
<div class="btn-close"
@click="handleClose">
<img src="@/assets/img/shuju/people/close.png" />
</div>
<div class="list-title">需求内容</div>
<event-info v-if="loading"
ref="eleEditForm"
:pageType="pageType"
:eventId="eventId"
:eventDetailData="eventDetailData"
@handleClose="handleClose"
@handleOk="handleOk"
@dialogOk="handleEditSuccess" />
</cpt-card>
</div>
</div>
</template>
<script>
import cptCard from "@/views/modules/visual/cpts/card";
import { requestPost } from "@/js/dai/request";
import eventInfo from "@/views/modules/shequzhili/event/cpts/event-info";
export default {
name: "dialogInfo",
props: {
},
components: {
cptCard,
eventInfo,
},
data () {
return {
loading: false,
pageType: 'dispose',
eventId: '1547830497890557953',
eventDetailData: {},
};
},
async mounted () {
this.loading = false
await this.handleSearch()
this.loading = true
},
methods: {
async handleSearch () {
const url = "/gov/project/icEvent/detail";
// const url = "http://yapi.elinkservice.cn/mock/245/gov/project/icEvent/detail";
const { data, code, msg } = await requestPost(url, {
icEventId: this.eventId,
});
if (code === 0) {
this.eventDetailData = { ...data };
this.pageType = "dispose";
} else {
this.$message.error(msg);
}
},
handleClose () {
this.pageType = "";
this.$emit("handleClose")
// this.eventId = ""
},
handleOk () {
this.pageType = "";
// this.eventId = ""
this.pageNo = 1
},
handleEditSuccess () {
this.handleClose();
},
},
};
</script>
<style
lang="scss"
src="@/assets/scss/modules/visual/people.scss"
scoped
></style>
<style lang="scss" scoped>
@import "@/assets/scss/modules/visual/a_customize.scss";
.m-pop {
color: #fff;
.wrap {
.list {
display: block;
width: 50%;
.item {
display: flex;
width: 100%;
box-sizing: border-box;
margin-top: 0;
margin-bottom: 15px;
font-size: 16px;
cursor: pointer;
.item-field {
flex-shrink: 0;
}
.item-filed-height {
line-height: 30px;
}
}
.item-desc {
font-size: 16px;
color: #fff;
margin-bottom: 10px;
line-height: 24px;
}
}
}
.list-title {
width: 100%;
box-sizing: border-box;
padding: 20px 0 10px 62px;
font-size: 20px;
color: #fff;
cursor: pointer;
}
}
.list-wr {
display: flex;
padding: 0 32px;
}
.sel-service {
display: flex;
justify-content: flex-start;
}
.div_btn {
display: flex;
justify-content: center;
.item_btn {
font-size: 14px;
padding: 8px 16px;
cursor: pointer;
border: 1px dashed #0c81fe;
border-radius: 6px;
background-color: #0c81fe;
}
.mgl {
margin-left: 20px;
}
}
</style>

36
src/views/modules/visual/communityGovern/fivelayers/mapIndex.vue

@ -2,7 +2,7 @@
<div style="position: relative">
<!-- 组织路由 -->
<div v-if="pageType===''">
<div class="div_top">
<div class="router_line"></div>
<div class="div_router">
@ -89,7 +89,8 @@
</div>
<div class="m-pagination">
<el-pagination hide-on-single-page :current-page="demand.pageNo"
<el-pagination hide-on-single-page
:current-page="demand.pageNo"
:page-size="demand.pageSize"
:total="demand.total"
background
@ -360,9 +361,16 @@
</div>
</div>
<people v-if="showPeopleInfo"
:uid="selUserId"
ref="ref_people"></people>
<event-info v-if="pageType==='dispose'"
ref="eleEditForm"
@handleClose="handleClose" />
</div>
</template>
@ -394,6 +402,9 @@ import cptTb from "@/views/modules/visual/cpts/tb";
import cptCard from "@/views/modules/visual/cpts/card";
import ScreenLoading from "@/views/modules/visual/cpts/loading";
import People from "../../basicinfo/people";
import eventInfo from "./eventInfo";
var centerPointGlobal = [120.664619, 36.504963]
@ -675,7 +686,11 @@ const vueGis = {
selPlaceType: '',
selInfo: {},
selUserId: '',
showPeopleInfo: false
showPeopleInfo: false,
pageType: '',
eventId: '1542065054671142914',
eventDetailData: {},
}
},
@ -1154,11 +1169,18 @@ const vueGis = {
this.getTable();
this.getMapTable();
},
// handleSearch () {
// this.demand.pageNo = 1
// this.getTable();
// this.getMapTable();
// },
handleSearch () {
this.demand.pageNo = 1
this.getTable();
this.getMapTable();
this.pageType = "dispose";
},
handleClose () {
this.pageType = "";
},
//
handleClickRow (index) {
let selData = this.tableList[index]
@ -1838,7 +1860,7 @@ const vueGis = {
...mapGetters(["clientHeight"])
},
components: { cptTb, cptCard, ScreenLoading, People },
components: { cptTb, cptCard, ScreenLoading, People, eventInfo },
}
export default vueGis;
</script>

211
src/views/modules/visual/measure/dialogInfo.vue

@ -7,7 +7,8 @@
<span>需求详情</span>
</div>
<div class="btn-close" @click="handleClose">
<div class="btn-close"
@click="handleClose">
<img src="@/assets/img/shuju/people/close.png" />
</div>
<div class="list-title">需求内容</div>
@ -50,39 +51,81 @@
<span>{{ info.wantServiceTime }}</span>
</div>
</div>
<div class="list">
<div class="item" v-if="info.serviceShowFlag">
<span class="item-field">服务方</span>
<div v-if="info.status!=='pending'"
class="list">
<div class="item"
v-if="info.serviceShowFlag">
<span class="item-field ">服务方</span>
<span>{{ info.serviceShowName }}</span>
</div>
<template v-if="info.status == 'finished'">
<div class="item">
<span class="item-field">实际服务时间</span>
<span v-if="info.serviceStartTime"
>{{ info.serviceStartTime }} <br />
{{ info.serviceEndTime }}</span
>
<span v-if="info.serviceStartTime">{{ info.serviceStartTime }} <br />
{{ info.serviceEndTime }}</span>
</div>
<div class="item">
<span class="item-field">完成情况</span>
<span
>{{ info.finishResult == "resolved" ? "已解决" : "未解决" }}
<span>{{ info.finishResult == "resolved" ? "已解决" : "未解决" }}
<br />
{{ info.finishDesc }}</span
>
{{ info.finishDesc }}</span>
</div>
<div class="item">
<span class="item-field">评价</span>
<span>
<el-rate :value="info.score" disabled></el-rate>
<el-rate :value="info.score"
disabled></el-rate>
</span>
</div>
</template>
</div>
<div v-if="info.status==='pending'"
class="list">
<div class="item">
<span class="item-field item-filed-height ">服务方</span>
<div class="single-select sel-service">
<el-select v-model="form.serviceType"
class="input-width-small"
placeholder="请选择"
clearable
style="margin-right:10px;"
@change="handleServiceChange('add', $event)">
<el-option v-for="item in serviceOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
-
<el-select v-model="form.serverId"
class="input-width-middle"
filterable
placeholder="请选择"
style="margin-left:10px;"
clearable>
<el-option v-for="item in serviceOptiondList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</div>
</div>
</div>
<div class="div_btn">
<div class="item_btn"
@click="handleClose()">关闭</div>
<div class="item_btn mgl"
v-if="info.status==='pending'"
@click="handleSubmit()">确认</div>
</div>
<div class="tabs">
<div v-if="false"
class="tabs">
<div class="tab-btn">
<img src="@/assets/img/shuju/people/arrow-double-left.png" />
</div>
@ -92,9 +135,9 @@
</div>
</div>
<div style="padding: 30px 0; display: flex; justify-content: center;">
<analyse
v-if="!loading"
<div v-if="false"
style="padding: 30px 0; display: flex; justify-content: center;">
<analyse v-if="!loading"
:single-list="demandList"
:single-title="'需求上报'"
:more-title="'事件上报'"
@ -103,8 +146,7 @@
:has-event="false"
:more-list="eventList"
@project="handleToProject"
@user="handleToUser"
/>
@user="handleToUser" />
</div>
</cpt-card>
</div>
@ -133,7 +175,7 @@ export default {
analyse,
},
data() {
data () {
return {
loading: false,
info: {},
@ -175,19 +217,29 @@ export default {
// ],
// },
]
],
serviceOptions: [],
serviceOptiondList: [],
form: {
serviceType: '',
serverId: '',
}
};
},
async mounted() {
async mounted () {
await this.getInfo(this.demandId);
await this.getServiceOption()
},
methods: {
handleClose() {
handleClose () {
this.$emit("close");
},
async getInfo(demandId) {
async getInfo (demandId) {
// const url = "/gov/org/customeragency/staffinagencylist";
const url = "/heart/userdemand/demandDetail";
let params = {
@ -202,7 +254,83 @@ export default {
this.$message.error(msg);
}
},
async getAnalyse(demandId) {
async getServiceOption () {
// const url = "/gov/org/customeragency/staffinagencylist";
const url = "/sys/dict/data/dictlist";
let params = {
dictType: 'user_demand_service_type',
};
const { data, code, msg } = await requestPost(url, params);
if (code === 0) {
this.serviceOptions = data;
} else {
this.$message.error(msg);
}
},
handleServiceChange (type, val) {
if (val === "social_org") {
if (type === "add") this.getServiceuserList(val, "add_demand");
else this.getServiceuserList(val, "query_demand");
} else this.getServiceuserList(val, "");
},
async getServiceuserList (serviceType, query) {
if (!serviceType) return false;
const { demandUserId } = this.form;
const params = {
serviceName: "",
serviceType: serviceType,
queryPurpose: query,
};
await this.$http
.post("/heart/userdemand/servicelist", params)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.serviceOptiondList = res.data.filter(
(item) => item.value != demandUserId
);
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
async handleSubmit () {
if (!this.form.serviceType || !this.form.serverId) {
this.$message.info("请选择服务方");
return false
}
const _form = {
demandRecId: this.demandId,
serviceType: this.form.serviceType,
serverId: this.form.serverId,
};
await this.$http
.post("/heart/userdemand/assign", _form)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
this.$emit("handleAssignOk");
this.handleClose();
this.$message.success("指派成功");
}
})
.catch(() => {
return this.$message.error("网络错误");
});
this.btnLoading = false;
},
async getAnalyse (demandId) {
// const url = "/gov/org/customeragency/staffinagencylist";
this.loading = true;
const url = "/heart/userdemand/demand-research-analysis";
@ -245,11 +373,11 @@ export default {
}
this.loading = false;
},
handleToProject(val) {
handleToProject (val) {
console.log("val---v", val);
this.getInfo(val.projectId);
},
handleToUser(val) {
handleToUser (val) {
console.log("val-uuu", val);
this.$router.push({
@ -266,6 +394,8 @@ export default {
scoped
></style>
<style lang="scss" scoped>
@import "@/assets/scss/modules/visual/a_customize.scss";
.m-pop {
color: #fff;
.wrap {
@ -285,6 +415,9 @@ export default {
flex-shrink: 0;
}
.item-filed-height {
line-height: 30px;
}
}
.item-desc {
font-size: 16px;
@ -307,4 +440,28 @@ export default {
display: flex;
padding: 0 32px;
}
.sel-service {
display: flex;
justify-content: flex-start;
}
.div_btn {
display: flex;
justify-content: center;
.item_btn {
font-size: 14px;
padding: 8px 16px;
cursor: pointer;
border: 1px dashed #0c81fe;
border-radius: 6px;
background-color: #0c81fe;
}
.mgl {
margin-left: 20px;
}
}
</style>

Loading…
Cancel
Save