diff --git a/ruoyi-ui/codehelp_readme.md b/ruoyi-ui/codehelp_readme.md index 90a0fe77..0ccdf448 100644 --- a/ruoyi-ui/codehelp_readme.md +++ b/ruoyi-ui/codehelp_readme.md @@ -13,7 +13,8 @@ - 通用视频组件,用户接入视频流`src\views\JiHeExpressway\components\VideoMulti\index.vue` 3. 较为复杂的页面只有首页的地图和缩略图相关。地图采用高速提供的接口,缩略图采用antv/x6。 - - 地图文档:【腾讯文档】SuperMap-GIS组件使用文档 https://docs.qq.com/doc/DY3FYV1RaV2lLeXhO + - 地图文档:【腾讯文档】SuperMap-GIS组件使用文档 + https://docs.qq.com/doc/DY2R2ZnBacUJjR1Rm - 缩略图文档:[X6 图编辑引擎 | AntV](https://x6.antv.vision/zh) diff --git a/ruoyi-ui/src/assets/images/carbon/active.png b/ruoyi-ui/src/assets/images/carbon/active.png new file mode 100644 index 00000000..7eeee71c Binary files /dev/null and b/ruoyi-ui/src/assets/images/carbon/active.png differ diff --git a/ruoyi-ui/src/assets/images/carbon/btn_active.png b/ruoyi-ui/src/assets/images/carbon/btn_active.png new file mode 100644 index 00000000..e05ee056 Binary files /dev/null and b/ruoyi-ui/src/assets/images/carbon/btn_active.png differ diff --git a/ruoyi-ui/src/assets/images/carbon/btn_normal.png b/ruoyi-ui/src/assets/images/carbon/btn_normal.png new file mode 100644 index 00000000..86cb2904 Binary files /dev/null and b/ruoyi-ui/src/assets/images/carbon/btn_normal.png differ diff --git a/ruoyi-ui/src/assets/images/carbon/data_bg1.png b/ruoyi-ui/src/assets/images/carbon/data_bg1.png new file mode 100644 index 00000000..07a702e8 Binary files /dev/null and b/ruoyi-ui/src/assets/images/carbon/data_bg1.png differ diff --git a/ruoyi-ui/src/assets/images/carbon/data_bg2.png b/ruoyi-ui/src/assets/images/carbon/data_bg2.png new file mode 100644 index 00000000..8d5e8a14 Binary files /dev/null and b/ruoyi-ui/src/assets/images/carbon/data_bg2.png differ diff --git a/ruoyi-ui/src/assets/images/carbon/head_logo.png b/ruoyi-ui/src/assets/images/carbon/head_logo.png new file mode 100644 index 00000000..f4a8e3f6 Binary files /dev/null and b/ruoyi-ui/src/assets/images/carbon/head_logo.png differ diff --git a/ruoyi-ui/src/assets/images/carbon/head_out.png b/ruoyi-ui/src/assets/images/carbon/head_out.png new file mode 100644 index 00000000..e7316a46 Binary files /dev/null and b/ruoyi-ui/src/assets/images/carbon/head_out.png differ diff --git a/ruoyi-ui/src/assets/images/carbon/head_setting.png b/ruoyi-ui/src/assets/images/carbon/head_setting.png new file mode 100644 index 00000000..597b26b8 Binary files /dev/null and b/ruoyi-ui/src/assets/images/carbon/head_setting.png differ diff --git a/ruoyi-ui/src/assets/images/carbon/head_title.png b/ruoyi-ui/src/assets/images/carbon/head_title.png new file mode 100644 index 00000000..84fcdefd Binary files /dev/null and b/ruoyi-ui/src/assets/images/carbon/head_title.png differ diff --git a/ruoyi-ui/src/assets/images/carbon/head_user.png b/ruoyi-ui/src/assets/images/carbon/head_user.png new file mode 100644 index 00000000..a7a33deb Binary files /dev/null and b/ruoyi-ui/src/assets/images/carbon/head_user.png differ diff --git a/ruoyi-ui/src/assets/images/carbon/header_bg.png b/ruoyi-ui/src/assets/images/carbon/header_bg.png new file mode 100644 index 00000000..a658ff55 Binary files /dev/null and b/ruoyi-ui/src/assets/images/carbon/header_bg.png differ diff --git a/ruoyi-ui/src/assets/images/carbon/icon_gf.png b/ruoyi-ui/src/assets/images/carbon/icon_gf.png new file mode 100644 index 00000000..fbe276f1 Binary files /dev/null and b/ruoyi-ui/src/assets/images/carbon/icon_gf.png differ diff --git a/ruoyi-ui/src/assets/images/carbon/item_title.png b/ruoyi-ui/src/assets/images/carbon/item_title.png new file mode 100644 index 00000000..8fb82b46 Binary files /dev/null and b/ruoyi-ui/src/assets/images/carbon/item_title.png differ diff --git a/ruoyi-ui/src/assets/images/carbon/tb_row_bg.png b/ruoyi-ui/src/assets/images/carbon/tb_row_bg.png new file mode 100644 index 00000000..e3d629f5 Binary files /dev/null and b/ruoyi-ui/src/assets/images/carbon/tb_row_bg.png differ diff --git a/ruoyi-ui/src/common/menuData.js b/ruoyi-ui/src/common/menuData.js index 94d9d59e..59cc14c4 100644 --- a/ruoyi-ui/src/common/menuData.js +++ b/ruoyi-ui/src/common/menuData.js @@ -307,7 +307,7 @@ export default [ }, ], }, - { + /*{ title: "安全生产", name: "safe", position: "right", @@ -320,6 +320,13 @@ export default [ component: "safe/files/index.vue", }, ] + },*/ + { + title: "零碳能源", + name: "carbon", + position: "right", + path: "/carbon", + component: "developing.vue", }, { title: "系统管理", diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/RadioGroup/RadioCustom1.vue b/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/RadioGroup/RadioCustom1.vue new file mode 100644 index 00000000..eb8029af --- /dev/null +++ b/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/RadioGroup/RadioCustom1.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/RadioGroup/index.vue b/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/RadioGroup/index.vue index e6077c64..c34e14cf 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/RadioGroup/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/components/FormConfig/components/RadioGroup/index.vue @@ -1,6 +1,7 @@ @@ -243,4 +329,87 @@ export default { } } } +::v-deep .el-table__empty-text { + color: #3ae0f8; +} + +.StatsDetail { + // height: 770px; + margin: 20px 0; + width: 100%; + display: flex; + gap: 5px; +} + +.el-table { + border: 1px solid #07aec6; + background: #0b6581; +} + +@media (min-width: 3000px) { + ::v-deep .el-table .el-table__header-wrapper th, + .el-table .el-table__fixed-header-wrapper th { + height: 55px !important; + background: #0b6581; + border: 1px solid #07aec6; + font-size: 22px; + } + ::v-deep .el-table td.el-table__cell div{ + font-size: 22px; + } +} +::v-deep .el-table .el-table__header-wrapper th, +.el-table .el-table__fixed-header-wrapper th { + background: #0b6581; + border: 1px solid #07aec6; +} + +::v-deep .el-table th.el-table__cell > .cell { + color: #3de8ff; +} + +::v-deep .el-table thead.is-group th.el-table__cell { + background: #0b6581; + border: 1px solid #07aec6; +} + +// ::v-deep .el-table th.el-table__cell.is-leaf, +::v-deep .el-table td.el-table__cell { + border: 1px solid #07aec6; + background: #1b586d; + color: #fff; +} +::v-deep .el-table td.el-table__cell div { + line-height: 30px; +} +::v-deep .el-checkbox-group { + text-align: left; + .el-checkbox { + min-width: 70px; + } +} + +::v-deep .el-table tr { + border: 1px solid #07aec6; + background-color: #0b6581; +} + +::v-deep +.el-table--enable-row-hover +.el-table__body +tr:hover +> td.el-table__cell { + background: #1b586d; + border: 1px solid #07aec6; +} + +::v-deep .el-table::before, +.el-table--group::after, +.el-table--border::after { + background: none; +} +.footer { + margin-top: 20px; + display: flex; +} diff --git a/ruoyi-ui/src/views/JiHeExpressway/pages/service/publicService/components/record/index.vue b/ruoyi-ui/src/views/JiHeExpressway/pages/service/publicService/components/record/index.vue index 7fbc2e39..4404f136 100644 --- a/ruoyi-ui/src/views/JiHeExpressway/pages/service/publicService/components/record/index.vue +++ b/ruoyi-ui/src/views/JiHeExpressway/pages/service/publicService/components/record/index.vue @@ -3,78 +3,70 @@
- + 导出 - - - 刷新 - + + + 刷新 + + 发布数量:{{ sumtotal }}
+ :formConfigOptions="{ dFormData: { eventState: '0' } }" @handleSearch="handleSearch" />
-
- +
- + header-align="center" /> - + - + - + - + -
@@ -86,12 +78,11 @@ import Pagination from '@screen/components/Pagination.vue'; import Table from '@screen/components/Table.vue'; import request from "@/utils/request"; import BoardRecordPreview from '@screen/components/infoBoard/BoardRecordPreview.vue' -import {DirectionTypes} from '@screen/utils/enum.js'; +import { DirectionTypes } from '@screen/utils/enum.js'; import InputSearch from "@screen/components/InputSearch/index.vue"; import { searchFormList } from "./data"; import moment from "moment"; import { Loading } from 'element-ui'; -import { e } from 'mathjs'; export default { name: 'boardRecord', @@ -107,33 +98,35 @@ export default { DirectionTypes, moment, enum_channels: { - 4:'情报板', - 7:'语音广播', - 8:'企业微信', + 4: '情报板', + 7: '语音广播', + 8: '企业微信', }, tableData: [], searchFormList, isShowPhrases: false, isShowDisposal: false, total: 20, + sumtotal: 0, eventType: 1, searchData: { pageSize: 20, pageNum: 1 }, phrasesData: [], - process: [] + process: [], + sum: 0 // 将 sum 定义为 data 属性 } }, created() { - + }, methods: { - onRefreshForm(){ + onRefreshForm() { this.searchData.pageNum = 1; this.$refs.searchComp.handleResetForm(); }, - onDelete(id){ + onDelete(id) { const self = this; this.$confirm("是否删除?", "警告", { confirmButtonText: "确定", @@ -142,7 +135,7 @@ export default { }) .then(function () { request({ - url: `/business/manage/`+id, + url: `/business/manage/${id}`, method: "DELETE", data: {}, }).then((result) => { @@ -152,7 +145,7 @@ export default { }); }) }, - onExport(){ + onExport() { const self = this; this.$confirm("是否确认导出共计查询内容?", "警告", { confirmButtonText: "确定", @@ -171,8 +164,6 @@ export default { data: self.searchData, responseType: 'blob', }).then((res) => { - console.log(res) - const url = window.URL.createObjectURL(new Blob([res])); let link = document.createElement("a"); link.style.display = "none"; @@ -185,10 +176,10 @@ export default { link = null; loadingInstance.close(); }) - .catch((err) => { - self.$message.error(err); - loadingInstance.close(); - }); + .catch((err) => { + self.$message.error(err); + loadingInstance.close(); + }); }) }, handleSearch(data) { @@ -198,77 +189,92 @@ export default { pageSize: 20, pageNum: 1 } - if(daterange && daterange.length > 0){ + if (daterange && daterange.length > 0) { _searchData.startTime = daterange[0]; _searchData.endTime = daterange[1]; } - if(data.publishChannels){ + if (data.publishChannels) { _searchData.publishChannels = data.publishChannels } - if(data.publishStatus){ + if (data.publishStatus) { _searchData.publishStatus = data.publishStatus } this.searchData = _searchData; this.initData(); }, indexMethod(index) { - return this.searchData.pageSize*(this.searchData.pageNum-1) + index + 1; - }, + return this.searchData.pageSize * (this.searchData.pageNum - 1) + index + 1; + }, formatterDirection(row, column) { - return DirectionTypes[row.direction]; - }, + return DirectionTypes[row.direction]; + }, initData() { + this.sum = 0; // 每次请求前重置 sum request({ url: `/business/manage/statisticsList?pageNum=${this.searchData.pageNum}&pageSize=${this.searchData.pageSize}`, method: "post", params: { pageNum: this.searchData.pageNum, pageSize: this.searchData.pageSize }, data: this.searchData, }).then((result) => { - if (result.code != 200) return Message.error(result?.msg); - + if (result.code != 200) return this.$message.error(result?.msg); result.rows.forEach(e => { - if(e.publishChannels === 4 || e.publishChannels === 7){ - const contentDetailsInfo = JSON.parse(e.contentDetails) - if(e.publishChannels === 4){ //情报板 - let msg = '情报板数据异常' // + e.contentDetails - // 检查是否一键恢复 - if(contentDetailsInfo.length > 0){ - if(contentDetailsInfo[0].functions.length > 1){ - const parameters = contentDetailsInfo[0].functions[1]?.params?.parameters - if(parameters && parameters.length > 0){ - e.contentDetailsInfo = parameters - msg = '' - } + if (e.publishChannels === 4 || e.publishChannels === 7) { + const contentDetailsInfo = JSON.parse(e.contentDetails) + if (e.publishChannels === 4) { // 情报板 + let msg = '情报板数据异常' // + e.contentDetails + // 检查是否一键恢复 + if (contentDetailsInfo.length > 0) { + if (contentDetailsInfo[0].functions.length > 1) { + const parameters = contentDetailsInfo[0].functions[1]?.params?.parameters + if (parameters && parameters.length > 0) { + e.contentDetailsInfo = parameters + msg = '' } - else if(contentDetailsInfo[0].functions.length > 0){ - if(contentDetailsInfo[0].functions[0].functionId && contentDetailsInfo[0].functions[0].functionId === '1B'){ - msg = '一键恢复操作' - } + } else if (contentDetailsInfo[0].functions.length > 0) { + if (contentDetailsInfo[0].functions[0].functionId && contentDetailsInfo[0].functions[0].functionId === '1B') { + msg = '一键恢复操作' } } - e.contentDetails = msg - } else if(e.publishChannels === 7){ - let msg = '语音广播数据异常' //+e.contentDetails - console.log(contentDetailsInfo) - if(contentDetailsInfo.length > 0){ - if(contentDetailsInfo[0].functions.length > 0){ - msg = contentDetailsInfo[0].functions[0].params.text - } + } + e.contentDetails = msg + } else if (e.publishChannels === 7) { + let msg = '语音广播数据异常' //+e.contentDetails + console.log(contentDetailsInfo) + if (contentDetailsInfo.length > 0) { + if (contentDetailsInfo[0].functions.length > 0) { + msg = contentDetailsInfo[0].functions[0].params.text } - e.contentDetails = msg; } + e.contentDetails = msg; } + } }); - + this.tableData = result.rows; - setTimeout(() => { - this.tableData = result.rows; - }, 200); - // this.$nextTick(()=>{ - - // }) this.total = result.total; - + }); + return request({ + url: '/business/manage/statisticsListNoPage', + method: "post", + data: this.searchData, + }).then((result) => { + if (result.code != 200) return this.$message.error(result?.msg); + let sum = 0; + result.data.forEach(e => { + if (e.publishChannels === 4) { + const contentDetailsInfo = JSON.parse(e.contentDetails) + if (contentDetailsInfo.length > 0) { + if (contentDetailsInfo[0].functions.length > 1) { + const parameters = contentDetailsInfo[0].functions[1]?.params?.parameters + if (parameters && parameters.length > 0) { + e.contentDetailsInfo = parameters + sum += parameters.length - 1 + } + } + } + } + }); + this.sumtotal = result.data.length + sum; // 更新 sumtotal }); }, @@ -300,20 +306,26 @@ export default { display: flex; gap: 6px; } + + .sum-total { + margin-left: 10px; + font-weight: bold; + color: #f6f1f1; + } } .body { - flex: 1; - position: relative; - overflow-y: auto; - overflow-x: hidden; - .content { - position: absolute; - width: 100%; - height: 100%; - overflow: auto; - } + flex: 1; + position: relative; + overflow-y: auto; + overflow-x: hidden; + .content { + position: absolute; + width: 100%; + height: 100%; + overflow: auto; } + } .footer { margin-top: 15px; @@ -323,15 +335,18 @@ export default { justify-content: center; } - .board_shower{ + .board_shower { margin: 4px; } - ::v-deep .el-carousel__indicators--horizontal{ - line-height: 0; height: 16px; - .el-carousel__indicator--horizontal{ + + ::v-deep .el-carousel__indicators--horizontal { + line-height: 0; + height: 16px; + .el-carousel__indicator--horizontal { padding: 7px 4px; } } + ::v-deep .el-table__cell div.cell { padding: 0 10px !important; }