diff --git a/src/assets/scss/modules/search.scss b/src/assets/scss/modules/search.scss index 7b4cb925..370c50fe 100644 --- a/src/assets/scss/modules/search.scss +++ b/src/assets/scss/modules/search.scss @@ -199,13 +199,48 @@ background-color: #fff; border-radius: 10px; padding: 30px 40px; - - .headline { + .header { + display: flex; + justify-content: space-between; + align-items: center; margin-bottom: 20px; - font-size: 24px; - font-family: PingFang SC; - font-weight: bold; - color: #333333; + + .headline { + font-size: 24px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + } + .notice { + width: 85%; + line-height: 24px; + display: flex; + justify-content: space-between; + align-items: center; + + .notice-btn { + width: 50px; + background-color: #3e8ef7; + color: #fff; + text-align: center; + border-radius: 4px; + cursor: pointer; + } + .notice-list { + // @include toe; + width: 92%; + // height: 24px; + // overflow: hidden; + a { + margin-right: 20px; + cursor: pointer; + color: #999; + &:hover { + color: #3e8ef7; + } + } + } + } } .cnt { @@ -219,3 +254,18 @@ } } } + +.m-crumbs { + padding: 10px 30px 0; + font-size: 16px; + a { + color: #666; + &:hover { + color: #094bea; + } + cursor: pointer; + } + span { + color: #094bea; + } +} diff --git a/src/assets/scss/modules/warning.scss b/src/assets/scss/modules/warning.scss new file mode 100644 index 00000000..2c6b9fa2 --- /dev/null +++ b/src/assets/scss/modules/warning.scss @@ -0,0 +1,147 @@ +.warning-box { + box-sizing: border-box; + // width: 1881px; + width: 100%; + // height: 100%; + min-height: 100%; + margin: 0 auto; + color: #999; + // background: url("../../../img/modules/visual/warning-box.png") no-repeat center; + background-size: 100% 100%; + padding: 25px 21px 35px 24px; + + &-top { + display: flex; + // justify-content: space-around; + justify-content: flex-start; + flex-wrap: wrap; + min-height: 190px; + + .top-item { + box-sizing: border-box; + width: 280px; + height: 190px; + padding: 10px 22px 14px 21px; + border-radius: 8px; + margin-right: 15px; + margin-bottom: 15px; + background-color: #fff; + + &-img { + display: flex; + align-items: center; + + img { + width: 78px; + height: 78px; + margin-right: 16px; + margin-bottom: 10px; + } + + .top-item-left { + display: flex; + flex-direction: column; + + span { + display: inline-block; + } + + span:nth-child(1) { + font-size: 18px; + font-weight: 400; + color: #333333; + } + + span:nth-child(2) { + font-size: 28px; + font-weight: bold; + color: #2194fe; + margin-top: 10px; + } + } + } + + &-num { + width: 100%; + display: flex; + position: relative; + flex-direction: column; + align-items: space-between; + // border: 1px solid red; + + .num-item { + position: relative; + width: 100%; + height: 35px; + display: flex; + border-radius: 4px; + align-items: center; + justify-content: space-between; + padding: 0 10px 0 29px; + cursor: pointer; + + &::after { + display: block; + content: ""; + width: 8px; + height: 8px; + background: #2194fe; + border-radius: 50%; + position: absolute; + left: 12px; + top: 50%; + transform: translate(0, -50%); + } + + div:nth-child(1) { + font-size: 16px; + font-family: PingFang SC; + font-weight: 400; + color: #333333; + } + + div:nth-child(2) { + // width: 70%; + display: flex; + font-size: 20px; + font-family: PingFang SC; + font-weight: 500; + color: #333; + + .right-icon { + width: 10px; + height: 14px; + } + } + } + + .num-item-active { + background-color: #f0f3f7; + } + + .num-item:nth-child(2) { + margin-top: 10px; + } + } + } + } + + &-bottom { + box-sizing: border-box; + width: 100%; + height: calc(100% - 300px); + padding: 35px 40px; + min-height: 300px; + margin-top: 30px; + background-color: #fff; + + .pagination { + box-sizing: border-box; + margin-top: 20px; + width: 100%; + height: 40px; + display: flex; + justify-content: flex-end; + } + } +} diff --git a/src/views/modules/shequ/cpts/bar-chart.vue b/src/views/modules/shequ/cpts/bar-chart.vue new file mode 100644 index 00000000..9e965b9c --- /dev/null +++ b/src/views/modules/shequ/cpts/bar-chart.vue @@ -0,0 +1,200 @@ + + + + + + + + + diff --git a/src/views/modules/shequ/cpts/scroll-notice.vue b/src/views/modules/shequ/cpts/scroll-notice.vue new file mode 100644 index 00000000..6945dacc --- /dev/null +++ b/src/views/modules/shequ/cpts/scroll-notice.vue @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + diff --git a/src/views/modules/shequ/index.vue b/src/views/modules/shequ/index.vue index 7469479e..49c92e5f 100644 --- a/src/views/modules/shequ/index.vue +++ b/src/views/modules/shequ/index.vue @@ -1,422 +1,445 @@ - - - - - - - - - - searchData.type = type"> - - {{{jumin:'居民', fangwu: '房屋', xuqiu:'需求'}[searchData.type]}} - - - 居民 - 房屋 - 需求 - - - - - - - - + + + + + + - 搜索 - - - - - - + + (searchData.type = type)" > - - {{ handleFilterSpan(scope.row, item) }} - - - - - 查看 - - - - - - + {{ + { jumin: "居民", fangwu: "房屋", xuqiu: "需求" }[ + searchData.type + ] + }} + + + 居民 + 房屋 + 需求 + + + + + + - + + + 搜索 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 查看 - - - - - + + - + + + + {{ handleFilterSpan(scope.row, item) }} + + + + + 查看 + + + + + + + + - - - - - - - - - {{ handleFilterSpan(scope.row, item) }} - - - - - - 查看 - - - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + 查看 + + + + + + + - - - - + + + + - - 常用功能 - - - - - - - - {{ item.menuName }} - + + {{ handleFilterSpan(scope.row, item) }} + + - - - + + + 查看 + + + + + + - 添加应用 - - - - - - 人员预警 - - - - + + - - - - - - - - - - - - - - 查看 - - - - - + 常用功能 + + - + + + + + + {{ item.menuName }} + + + + + + + 添加应用 + - - - - - - - 常用功能 - - - - + + + + 人员预警 + + 通知 + + + {{ item.noticeContent }} + + + + 通知 + + + + {{ item.noticeContent }} + + + + + - - - - + + + + + + + + + + + + + + + + + + + 查看 + + + + + + + - {{ item.menuName }} + - - 所有功能 - + + + - {{ menu.name }} + 常用功能 - + @@ -428,19 +451,73 @@ - {{ item.name }} + {{ item.menuName }} - - - 返回 - 确认 + + 所有功能 + + + {{ menu.name }} + + + + + + + + + + + + {{ item.name }} + + + + + + + 返回 + 确认 + + + + 社区查询 + > + 人员预警 + + + + + import { requestPost } from "@/js/dai/request"; -import panChart from "@/views/modules/shequ/cpts/pan-chart"; +import barChart from "@/views/modules/shequ/cpts/bar-chart"; +import warningList from "@/views/modules/warning/index"; import { mapGetters } from "vuex"; import nextTick from "dai-js/tools/nextTick"; import peopleMore from "@/views/modules/shequ/cpts/people-more"; import fangwuInfo from "@/views/modules/shequ/cpts/fangwu-info"; import xuqiuInfo from "@/views/modules/shequ/cpts/xuqiu-info"; +import scrollNotice from "@/views/modules/shequ/cpts/scroll-notice"; export default { - components: { panChart, peopleMore, fangwuInfo, xuqiuInfo }, + components: { + barChart, + peopleMore, + fangwuInfo, + xuqiuInfo, + warningList, + scrollNotice, + }, data() { return { @@ -673,6 +759,19 @@ export default { // 显示人员详情 showedFangwuInfo: false, showedXuqiuInfo: false, + + noticeList: [ + // { + // configId: "20211210153859_f070ac2dd01129da5d9a9f2329fbd9ea1", + // noticeContent: "市北区-抚顺第二网格中南国际2号楼低保人员超出预警!", + // }, + ], + + currentCategoryCode: "", + + currentPage: "chaxun", //查询 预警 + currentNoticeBuildingId: "", + currentNoticeConfigId: "", }; }, computed: { @@ -729,6 +828,13 @@ export default { ); }, methods: { + changeCategoryCode({ code }) { + this.currentCategoryCode = code || ""; + + this.warningTb.pageNo = 1; + this.getWarningTb(); + }, + computedWidth(label) { const wd = 20 * label.length; return wd > 80 ? wd : 80; @@ -851,6 +957,7 @@ export default { this.getWarningList(); this.getWarningTb(); this.getSearchJuminHeader(); + this.getNoticeList(); }, selectFuncItem(id) { @@ -862,6 +969,30 @@ export default { } }, + toNoticeInfo(item) { + console.log(item); + this.currentPage = "yujing"; + if (item) { + this.currentNoticeBuildingId = item.buildingId; + this.currentNoticeConfigId = item.configId; + } else { + this.currentNoticeBuildingId = ""; + this.currentNoticeConfigId = ""; + } + }, + + async getNoticeList() { + const url = "/epmetuser/statsresiwarn/queryuserwarnnotice"; + const { data, code, msg } = await requestPost(url, { + agencyId: this.$store.state.user.agencyId, + }); + if (code === 0) { + this.noticeList = data || []; + } else { + // return this.$message.error("网络错误"); + } + }, + async getSearchJuminHeader() { const url = "/oper/customize/icform/tableheaders"; const { data, code, msg } = await requestPost(url, { @@ -952,6 +1083,7 @@ export default { const { data, code, msg } = await requestPost(url, { pageSize, pageNo, + categoryCode: this.currentCategoryCode, }); if (code === 0) { console.log("列表请求成功!!!!!!!!!!!!!!"); @@ -978,6 +1110,7 @@ export default { this.warningChart.total = data.total; this.warningChart.list = data.list.map((item) => { return { + code: item.typeCode, name: item.typeName, count: item.typeCount, const: "const", diff --git a/src/views/modules/warning/components/screen-loading/index.vue b/src/views/modules/warning/components/screen-loading/index.vue new file mode 100644 index 00000000..cc8bda6f --- /dev/null +++ b/src/views/modules/warning/components/screen-loading/index.vue @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/modules/warning/components/screen-table/index.vue b/src/views/modules/warning/components/screen-table/index.vue new file mode 100644 index 00000000..6f0da3ed --- /dev/null +++ b/src/views/modules/warning/components/screen-table/index.vue @@ -0,0 +1,392 @@ + + + + + + + {{ item.title }} + + + + + + + + {{ rIndex != 0 ? "、" : "" }} + {{ + resi.residentName + }} + + + {{ item }} + + 更多> + + + {{ rIndex != 0 ? "、" : "" }} + {{ + resi.residentName + }} + + + + + + 加载中 + + + + + + + + + + + + + + diff --git a/src/views/modules/warning/index.vue b/src/views/modules/warning/index.vue new file mode 100644 index 00000000..00121565 --- /dev/null +++ b/src/views/modules/warning/index.vue @@ -0,0 +1,200 @@ + + + + + + + + {{ item.label }} + {{ item.count }} + + + + + {{ item.level1 }}-{{ item.level2 }}人 + + {{ item.levelCount1 }}栋 + + + + + {{ item.level2 }}人以上 + + {{ item.levelCount2 }}栋 + + + + + + + + + + + + + + + + + + +
{{ item.menuName }}
添加应用
{{ item.name }}