diff --git a/public/index.html b/public/index.html index ef957a4c..dfbf8452 100644 --- a/public/index.html +++ b/public/index.html @@ -36,8 +36,8 @@ <% if (process.env.VUE_APP_NODE_ENV==='dev' ) { %> diff --git a/src/assets/img/shuju/sight.png b/src/assets/img/shuju/sight.png new file mode 100644 index 00000000..d1c00c46 Binary files /dev/null and b/src/assets/img/shuju/sight.png differ diff --git a/src/assets/scss/modules/visual/heart.scss b/src/assets/scss/modules/visual/heart.scss new file mode 100644 index 00000000..0e12e1b7 --- /dev/null +++ b/src/assets/scss/modules/visual/heart.scss @@ -0,0 +1,35 @@ +@import "../../c/config"; +@import "../../c/function"; +@import "./c/common"; + +.g-cpt { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + margin-top: 5px; +} +.m-tb { + width: 33%; + .title { + padding: 10px; + font-size: 22px; + font-family: PingFang SC; + font-weight: 800; + color: #ffffff; + display: flex; + align-items: center; + + img { + display: block; + margin-right: 5px; + } + span { + display: block; + } + } + .tb { + height: calc(100vh - 180px); + overflow-y: auto; + @include scrollBar; + } +} diff --git a/src/assets/scss/modules/visual/incident-info.scss b/src/assets/scss/modules/visual/incident-info.scss new file mode 100644 index 00000000..a3905150 --- /dev/null +++ b/src/assets/scss/modules/visual/incident-info.scss @@ -0,0 +1,326 @@ +@import "../../c/config"; +@import "../../c/function"; +@import "./c/common"; + +.m-pop { + @include shield; + background-color: rgba(#000, 0.9); + overflow-y: auto; + + .wrap { + position: relative; + margin: 120px auto; + width: 1000px; + + .title { + padding: 10px; + font-size: 22px; + font-family: PingFang SC; + font-weight: 800; + color: #ffffff; + display: flex; + align-items: center; + + img { + display: block; + margin-right: 5px; + } + span { + display: block; + } + } + + .btn-close { + position: absolute; + top: -15px; + right: -15px; + cursor: pointer; + } + + .line { + margin: 20px auto; + width: 900px; + height: 1px; + border: 1px dashed #1257c9; + } + + .tabs { + margin-top: 30px; + display: flex; + align-items: center; + padding-left: 20px; + padding-left: 58px; + + .tab-btn { + width: 30px; + text-align: center; + cursor: pointer; + } + + .tab { + margin: 0 5px; + min-width: 76px; + padding: 0 5px; + height: 30px; + background: rgba(255, 255, 255, 0); + border: 1px solid #1257c9; + box-shadow: 0 0 10px 0 inset #1257c9; + border-radius: 2px; + text-align: center; + font-size: 14px; + font-family: PingFang SC; + font-weight: 400; + color: #ffffff; + line-height: 30px; + cursor: pointer; + transition: all ease 0.5s; + &.z-on { + background: linear-gradient(90deg, #1a5afd, #009cff); + box-shadow: none; + } + } + } + } +} + +.m-info { + padding-left: 62px; + font-size: 16px; + font-family: PingFang SC; + font-weight: 400; + color: #ffffff; + line-height: 24px; + width: 500px; + + .info-title { + margin-top: 30px; + font-size: 20px; + font-family: PingFang SC; + font-weight: bold; + color: #ffffff; + line-height: 30px; + } + .info-content { + margin: 20px 0; + } + .info-pics { + display: flex; + margin: 20px 0; + img { + display: block; + width: 32%; + height: 90px; + margin-right: 9px; + object-fit: cover; + } + } + + .info-prop { + position: relative; + margin: 10px 0; + display: flex; + padding-left: 15px; + + > span, + > div { + display: block; + max-width: 300px; + } + + &::before { + content: ""; + display: block; + position: absolute; + top: 9px; + left: 0; + width: 7px; + height: 7px; + background: #0c81fe; + border-radius: 3px; + margin-right: 10px; + } + } +} + +.m-case { + @include scrollBar; + height: 400px; + padding: 20px 0 20px 0; + overflow-y: auto; +} + +.m-row { + display: flex; + justify-content: space-between; +} + +.m-tb { + padding-left: 62px; + padding-right: 40px; +} + +.m-pagination { + box-sizing: border-box; + margin-top: 20px; + width: 100%; + height: 40px; + display: flex; + justify-content: flex-end; + + /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { + background: #0266d1; + color: #000d3f; + } + + /deep/ .el-pagination .el-pager li { + background: #002e74; + } + + /deep/ .el-pagination .btn-prev { + background: #002e74; + } + + /deep/ .el-pagination .btn-next { + background: #002e74; + } +} + +.m-process { + width: 400px; + + .process-title { + margin-bottom: 25px; + margin-left: -5px; + font-size: 16px; + font-family: PingFang SC; + font-weight: bold; + color: #ffffff; + line-height: 18px; + } + + .list { + position: relative; + box-sizing: border-box; + margin-top: 30px/2; + margin-left: 50px/2; + padding: 0 0 0 30px/2; + width: 680px/2; + border-left: 3px solid #0c81fe; + padding-right: 10px; + + &::before { + content: ""; + position: absolute; + z-index: 1; + display: block; + top: -2px/2; + left: -2px/2; + width: 5px/2; + height: 20px/2; + background-color: #ffffff; + } + + .item { + position: relative; + z-index: 2; + margin-bottom: 8px; + padding-bottom: 8px; + font-size: 16px; + font-family: PingFang SC; + font-weight: 400; + color: #fefefe; + line-height: 24px; + padding-left: 20px; + padding-top: 1px; + + &::before { + content: ""; + display: block; + position: absolute; + top: -5px; + left: -11px; + width: 18px; + height: 18px; + background: #0c81fe; + border: 4px solid lighten(#0c81fe, 15); + border-radius: 100%; + } + + &.z-on { + &::before { + background: #e08400; + border-color: lighten(#e08400, 15); + } + } + + &:last-child { + margin-bottom: 0; + padding-bottom: 0; + border-bottom: none; + } + + .item-row { + margin-top: -10px; + margin-bottom: 10px; + display: flex; + } + + .name { + position: relative; + padding: 0 10px; + font-size: 12px; + font-family: PingFang SC; + font-weight: 500; + color: #fefefe; + line-height: 22px; + height: 22px; + border-radius: 10px 0 10px 0; + background-color: #0c81fe; + // background-color: #e08400; + } + + .date { + margin-left: 10px; + font-size: 12px; + font-family: PingFang SC; + font-weight: 500; + color: #7ca1d2; + line-height: 25px; + } + + .detail { + @include cs; + font-size: 16px; + line-height: 20px; + margin-bottom: 5px; + display: flex; + + .detail-field { + width: 22%; + text-align: justify; + text-align-last: justify; + } + .detail-value { + width: 78%; + .detail-link { + display: inline; + } + } + } + + .attachement-list { + padding-left: 80px; + a { + display: block; + cursor: pointer; + color: #4df0ff; + font-size: 14px; + + i { + color: #fff; + } + } + } + } + } +} diff --git a/src/router/index.js b/src/router/index.js index bc43c78a..314a89b5 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -316,6 +316,14 @@ router.beforeEach((to, from, next) => { }, ], }, + { + icon: "icon-setting", + id: "2221321fefefaewfa123", + name: "初心互助", + url: "visual/heart/index", + children: [ + ], + }, ]; fnAddDynamicMenuRoutes2(window.SITE_CONFIG["menuShujuList"]); // next({ ...to, replace: true }) diff --git a/src/views/modules/visual/basicinfo/cpts/incident-info.vue b/src/views/modules/visual/basicinfo/cpts/incident-info.vue index 31ed33e1..56846b41 100644 --- a/src/views/modules/visual/basicinfo/cpts/incident-info.vue +++ b/src/views/modules/visual/basicinfo/cpts/incident-info.vue @@ -4,62 +4,35 @@
- 更多信息 + 事件详情
-
-
-
- 所属网格: - {{ gridName }} -
-
- 所属小区: - {{ xiaoquName }} -
-
- 所属楼宇: - {{ louName }}-{{ danyuanName }} -
-
- 所属家庭: - {{ homeName }} -
-
- {{ field.label }}: - - {{ - info[field.columnName] == null - ? "--" - : getOptionLabel( - field.options, - info[field.columnName], - field.itemType - ) - }} - - {{ - info[field.columnName] == null ? "--" : info[field.columnName] - }} -
+
+
事件内容
+
{{ info.eventContent }}
+
+ +
+
+ 提交时间: + {{ info.eventTime }} +
+
+ 报事人: + {{ info.eventPeopleName }} +
+
+ 所属网格: + {{ info.gridName }} +
+
+ 提报给: + {{ info.eventPerson.join("、") || "--" }}
- -
@@ -89,81 +62,107 @@
-
-
-
-
- {{ field.label }}: - {{ - infoItem[field.columnName] == null - ? "--" - : getOptionLabel( - field.options, - infoItem[field.columnName], - field.itemType - ) - }} +
+
+ +
- {{ - infoItem[field.columnName] == null - ? "--" - : infoItem[field.columnName] - }} +
+
+
+ 项目标题: + {{ projectInfo.projectTitle }} +
+
+ 项目方案: + {{ projectInfo.projectTitle }} +
+
+ 内部备注: + {{ projectInfo.internalRemark || "--" }} +
+
+ 当前处理部门: + {{ projectInfo.departmentNameList.join("、") }} +
+
+ 分类: +
+
+ {{ item.name }} +
+
+
+
+ 标签: +
+
+ {{ item.name }} +
+
-
-
-
- {{ field.label }}: - {{ - !allInfo[group.tableName] || - allInfo[group.tableName][0][field.columnName] == null - ? "--" - : getOptionLabel( - field.options, - allInfo[group.tableName][0][field.columnName], - field.itemType - ) - }} - - {{ - !allInfo[group.tableName] || - allInfo[group.tableName][0][field.columnName] == null - ? "--" - : allInfo[group.tableName][0][field.columnName] - }} + +
+
处理进展
+
+
+
+
{{ item.processName }}
+
+ {{ item.processTime }} +
+
+ +
+
处理部门:
+
{{ item.departmentName }}
+
+ +
+
说 明:
+
+ {{ item.publicReply }} +
+
+ +
+
内部备注:
+
+ {{ item.internalRemark }} +
+
+ +
+
@@ -175,15 +174,13 @@ - + diff --git a/src/views/modules/visual/basicinfo/people.vue b/src/views/modules/visual/basicinfo/people.vue index 4335105f..42241b4c 100644 --- a/src/views/modules/visual/basicinfo/people.vue +++ b/src/views/modules/visual/basicinfo/people.vue @@ -375,8 +375,8 @@ v-for="(item, index) in topic.list" @click="handleClickTopic(index)" > -
{{ item.eventContent }}
-
{{ item.reportTime }}
+
{{ item.topicContent }}
+
{{ item.releaseTime }}
@@ -449,9 +449,8 @@ @@ -485,7 +484,7 @@ export default { userId: "", info: { - epmetUserId: "", + epmetUserIdList: [], financialSituation: { monthlyIncome: "", retirementAmount: "" }, gridName: "", houseInfo: [], @@ -594,7 +593,7 @@ export default { cptTb, demandInfo, incidentInfo, - topicInfo + topicInfo, }, watch: { @@ -676,8 +675,8 @@ export default { async getDemandData() { const url = "/heart/userdemand/mydemand"; let params = { - epmetUserId: this.info.epmetUserId, - userId: this.userId, + epmetUserIdList: this.info.epmetUserIdList, + icResiUserId: this.userId, pageNo: this.demand.pageNo, pageSize: this.demand.pageSize, }; @@ -715,10 +714,9 @@ export default { //加载组织数据 async getIncidentData() { - const url = - "http://yapi.elinkservice.cn/mock/245/gov/project/resievent/pageuserreported"; + const url = "/gov/project/resievent/pageuserreported"; let params = { - epmetUserId: this.info.epmetUserId, + epmetUserIdList: this.info.epmetUserIdList, userId: this.userId, pageNo: this.incident.pageNo, pageSize: this.incident.pageSize, @@ -747,10 +745,9 @@ export default { //加载组织数据 async getTopicData() { - const url = - "http://yapi.elinkservice.cn/mock/245/gov/project/resievent/pageuserreported"; + const url = "/data/aggregator/resigroup/pageusertopic"; let params = { - epmetUserId: this.info.epmetUserId, + epmetUserIdList: this.info.epmetUserIdList, userId: this.userId, pageNo: this.topic.pageNo, pageSize: this.topic.pageSize, @@ -779,10 +776,9 @@ export default { //加载组织数据 async getPointData() { - const url = - "http://yapi.elinkservice.cn/mock/245/point/resi/point/pageuserpoint"; + const url = "/point/resi/point/pageuserpoint"; let params = { - epmetUserId: this.info.epmetUserId, + epmetUserIdList: this.info.epmetUserIdList, userId: this.userId, pageNo: this.point.pageNo, pageSize: this.point.pageSize, diff --git a/src/views/modules/visual/cpts/tb.vue b/src/views/modules/visual/cpts/tb.vue index 2222a582..2abb586a 100644 --- a/src/views/modules/visual/cpts/tb.vue +++ b/src/views/modules/visual/cpts/tb.vue @@ -21,9 +21,12 @@ {{ item }} - {{ - index + 1 - }} +
+ + + + {{index + 1}} +
@@ -109,6 +112,10 @@ export default { type: Boolean, default: true, }, + highlightTop3: { + type: Boolean, + default: false, + }, }, data() { return {}; diff --git a/src/views/modules/visual/heart/index.vue b/src/views/modules/visual/heart/index.vue new file mode 100644 index 00000000..e643031e --- /dev/null +++ b/src/views/modules/visual/heart/index.vue @@ -0,0 +1,283 @@ + + + + +