diff --git a/src/assets/img/shuju/top/1.png b/src/assets/img/shuju/top/1.png new file mode 100644 index 00000000..1f4ddc87 Binary files /dev/null and b/src/assets/img/shuju/top/1.png differ diff --git a/src/assets/img/shuju/top/2.png b/src/assets/img/shuju/top/2.png new file mode 100644 index 00000000..fc2e96ca Binary files /dev/null and b/src/assets/img/shuju/top/2.png differ diff --git a/src/assets/img/shuju/top/3.png b/src/assets/img/shuju/top/3.png new file mode 100644 index 00000000..7e89e215 Binary files /dev/null and b/src/assets/img/shuju/top/3.png differ diff --git a/src/assets/scss/modules/visual/people.scss b/src/assets/scss/modules/visual/people.scss index dc7217eb..f382abc1 100644 --- a/src/assets/scss/modules/visual/people.scss +++ b/src/assets/scss/modules/visual/people.scss @@ -6,6 +6,8 @@ display: flex; flex-wrap: wrap; justify-content: center; + margin-top: 5px; + .g-l { width: 850px; margin-bottom: 20px; @@ -177,7 +179,7 @@ .m-pop { @include shield; background-color: rgba(#000, 0.9); - overflow-y: scroll; + overflow-y: auto; .wrap { position: relative; @@ -288,7 +290,7 @@ .m-relation { position: relative; - margin-top: 20px; + margin-top: 10px; .title { padding: 10px; @@ -455,7 +457,7 @@ } .tb { height: 300px; - overflow-y: scroll; + overflow-y: auto; @include scrollBar; } } @@ -463,7 +465,7 @@ .m-row { display: flex; justify-content: space-between; - margin-top: 20px; + margin-top: 10px; .m-list { width: calc(50% - 3px); @@ -484,11 +486,124 @@ span { display: block; } + + a { + display: block; + color: rgba(#fff, 0.5); + font-size: 22px; + font-family: PingFang SC; + font-weight: 800; + margin-right: 10px; + cursor: pointer; + + &.z-on { + color: #fff; + cursor: default; + + &:hover { + color: #fff; + text-decoration: none; + } + } + + &:hover { + color: rgba(#fff, 0.5); + text-decoration: underline; + } + } } - .list { + + .list-wrap { height: 480px; - overflow-y: scroll; + overflow-y: auto; @include scrollBar; + + .list { + .item { + position: relative; + background-color: #104ba4; + padding: 10px 20px; + margin-bottom: 4px; + cursor: pointer; + transition: all ease 0.1s; + + .item-row { + display: flex; + justify-content: space-between; + align-items: center; + + .item-l { + width: 25%; + } + .item-r { + width: 75%; + } + + &:hover { + &::before { + content: ""; + position: absolute; + display: block; + left: 0; + top: 0; + bottom: 0; + width: 6px; + background: linear-gradient(270deg, #0336ff, #01b4ff); + border-radius: 2px; + } + + &::after { + content: ""; + position: absolute; + display: block; + left: 15px; + top: 0; + bottom: 0; + margin: auto 0; + width: 0; + height: 0; + border-width: 10px; + border-style: solid; + border-color: transparent transparent transparent #20edff; + } + } + } + + .item-point { + text-align: center; + padding-left: 10%; + height: 16px; + font-size: 22px; + font-family: PingFang SC; + font-weight: bold; + color: #ffffff; + line-height: 12px; + } + + .item-title { + padding: 10px 0; + font-size: 18px; + font-family: PingFang SC; + font-weight: 400; + color: #ffffff; + line-height: 24px; + } + + .item-date { + padding: 10px 0; + border-top: 1px dashed #8398d9; + font-size: 14px; + font-family: PingFang SC; + font-weight: 400; + color: #ffffff; + opacity: 0.67; + } + &:hover { + box-shadow: 0 0 30px 5px inset #22f; + background-color: darken(#104ba4, 12); + } + } + } } } } diff --git a/src/views/modules/visual/basicinfo/cpts/demand-info.vue b/src/views/modules/visual/basicinfo/cpts/demand-info.vue new file mode 100644 index 00000000..31ed33e1 --- /dev/null +++ b/src/views/modules/visual/basicinfo/cpts/demand-info.vue @@ -0,0 +1,503 @@ + + + + + diff --git a/src/views/modules/visual/basicinfo/cpts/incident-info.vue b/src/views/modules/visual/basicinfo/cpts/incident-info.vue new file mode 100644 index 00000000..31ed33e1 --- /dev/null +++ b/src/views/modules/visual/basicinfo/cpts/incident-info.vue @@ -0,0 +1,503 @@ + + + + + diff --git a/src/views/modules/visual/basicinfo/cpts/topic-info.vue b/src/views/modules/visual/basicinfo/cpts/topic-info.vue new file mode 100644 index 00000000..31ed33e1 --- /dev/null +++ b/src/views/modules/visual/basicinfo/cpts/topic-info.vue @@ -0,0 +1,503 @@ + + + + + diff --git a/src/views/modules/visual/basicinfo/people.vue b/src/views/modules/visual/basicinfo/people.vue index e62bd04b..4335105f 100644 --- a/src/views/modules/visual/basicinfo/people.vue +++ b/src/views/modules/visual/basicinfo/people.vue @@ -304,16 +304,17 @@ :loading="demand.loading" :header="demand.header" :list="demand.list" + @operate="handleOperateDemandList" > -
+
@@ -326,9 +327,71 @@
- 上报事件 + 上报事件 + 发布话题 +
+
+
+
+
{{ item.eventContent }}
+
{{ item.reportTime }}
+
+
+ +
+ + +
+
+ +
+
+
+
{{ item.eventContent }}
+
{{ item.reportTime }}
+
+
+ +
+ + +
-
@@ -338,11 +401,67 @@ 积分记录 -
+ +
+
+
+
+
+
{{ item.point }}
+
+
+
{{ item.title }}
+
{{ item.dateTime }}
+
+
+
+
+ +
+ + +
+
+ + + + + + @@ -351,6 +470,9 @@ import { Loading } from "element-ui"; //引入Loading服务 import { requestPost } from "@/js/dai/request"; import cptCard from "@/views/modules/visual/cpts/card"; import peopleMore from "@/views/modules/visual/basicinfo/cpts/people-more"; +import demandInfo from "@/views/modules/visual/basicinfo/cpts/demand-info"; +import incidentInfo from "@/views/modules/visual/basicinfo/cpts/incident-info"; +import topicInfo from "@/views/modules/visual/basicinfo/cpts/topic-info"; import cptTb from "@/views/modules/visual/cpts/tb"; export default { @@ -358,10 +480,12 @@ export default { data() { return { showedMoreInfo: false, + showedDemandInfo: false, userId: "", info: { + epmetUserId: "", financialSituation: { monthlyIncome: "", retirementAmount: "" }, gridName: "", houseInfo: [], @@ -413,10 +537,44 @@ export default { ], header: ["序号", "服务时间", "需求类型", "需求内容", "状态", "操作"], list: [], + srcList: [], + currentIndex: 0, pageSize: 5, pageNo: 1, total: 0, }, + + showedIncidentOrTopic: "incident", + + incident: { + loading: false, + list: [], + pageSize: 10, + pageNo: 1, + total: 0, + showedInfo: false, + currentIndex: 0, + }, + + topic: { + loading: false, + list: [], + pageSize: 10, + pageNo: 1, + total: 0, + showedInfo: false, + currentIndex: 0, + }, + + point: { + loading: false, + list: [], + pageSize: 10, + pageNo: 1, + total: 0, + showedInfo: false, + currentIndex: 0, + }, }; }, @@ -434,6 +592,9 @@ export default { cptCard, peopleMore, cptTb, + demandInfo, + incidentInfo, + topicInfo }, watch: { @@ -454,10 +615,13 @@ export default { methods: { handleSearch() {}, - getApiData() { - this.getInfo(); + async getApiData() { + await this.getInfo(); this.getHouseInfo(); this.getDemandData(); + this.getIncidentData(); + this.getTopicData(); + this.getPointData(); }, toUserInfo(uid) { @@ -496,16 +660,23 @@ export default { } }, - handlePageNoChange_demand(val) { + handlePageNoChangeDemand(val) { this.demand.pageNo = val; this.getDemandData(); }, + handleOperateDemandList(index, type) { + if (type == "查看") { + this.showedDemandInfo = true; + this.demand.currentIndex = index; + } + }, + //加载组织数据 async getDemandData() { - const url = - "http://yapi.elinkservice.cn/mock/245/heart/userdemand/mydemand"; + const url = "/heart/userdemand/mydemand"; let params = { + epmetUserId: this.info.epmetUserId, userId: this.userId, pageNo: this.demand.pageNo, pageSize: this.demand.pageSize, @@ -520,12 +691,109 @@ export default { return [ { type: "index" }, item.wantServiceTime, - item.content, item.categoryName, + item.content, item.statusName, { type: "operate", list: ["查看"] }, ]; }); + this.demand.srcList = data.list; + } else { + this.$message.error(msg); + } + }, + + handlePageNoChangeIncident(val) { + this.incident.pageNo = val; + this.getIncidentData(); + }, + + handleClickIncident(index) { + this.incident.showedInfo = true; + this.incident.currentIndex = index; + }, + + //加载组织数据 + async getIncidentData() { + const url = + "http://yapi.elinkservice.cn/mock/245/gov/project/resievent/pageuserreported"; + let params = { + epmetUserId: this.info.epmetUserId, + userId: this.userId, + pageNo: this.incident.pageNo, + pageSize: this.incident.pageSize, + }; + + const { data, code, msg } = await requestPost(url, params); + this.incident.loading = false; + + if (code === 0) { + this.incident.total = data.total; + this.incident.list = data.list; + } else { + this.$message.error(msg); + } + }, + + handlePageNoChangeTopic(val) { + this.topic.pageNo = val; + this.getTopicData(); + }, + + handleClickTopic(index) { + this.topic.showedInfo = true; + this.topic.currentIndex = index; + }, + + //加载组织数据 + async getTopicData() { + const url = + "http://yapi.elinkservice.cn/mock/245/gov/project/resievent/pageuserreported"; + let params = { + epmetUserId: this.info.epmetUserId, + userId: this.userId, + pageNo: this.topic.pageNo, + pageSize: this.topic.pageSize, + }; + + const { data, code, msg } = await requestPost(url, params); + this.topic.loading = false; + + if (code === 0) { + this.topic.total = data.total; + this.topic.list = data.list; + } else { + this.$message.error(msg); + } + }, + + handlePageNoChangePoint(val) { + this.point.pageNo = val; + this.getPointData(); + }, + + handleClickPoint(index) { + this.point.showedInfo = true; + this.point.currentIndex = index; + }, + + //加载组织数据 + async getPointData() { + const url = + "http://yapi.elinkservice.cn/mock/245/point/resi/point/pageuserpoint"; + let params = { + epmetUserId: this.info.epmetUserId, + userId: this.userId, + pageNo: this.point.pageNo, + pageSize: this.point.pageSize, + }; + + const { data, code, msg } = await requestPost(url, params); + this.point.loading = false; + + if (code === 0) { + this.point.total = data.total; + this.point.list = data.list; } else { this.$message.error(msg); }