diff --git a/.env.development b/.env.development index 671bd08..756656a 100644 --- a/.env.development +++ b/.env.development @@ -1,13 +1,13 @@ # 页面标题 -VUE_APP_TITLE = 若依管理系统 +VUE_APP_TITLE = 苏州园区志愿服务活动区块链平台 # 开发环境配置 ENV = 'development' -# 若依管理系统/开发环境 +# 苏州园区志愿服务活动区块链平台/开发环境 # VUE_APP_BASE_API = 'https://vue.ruoyi.vip/prod-api' -# VUE_APP_BASE_API = 'http://192.168.0.108:9034' VUE_APP_BASE_API = 'http://39.101.188.84:9034' +# VUE_APP_BASE_API = 'http://192.168.0.117:9034' # 路由懒加载 VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/.env.production b/.env.production index 52cfbc7..3ac36c2 100644 --- a/.env.production +++ b/.env.production @@ -1,8 +1,8 @@ # 页面标题 -VUE_APP_TITLE = 若依管理系统 +VUE_APP_TITLE = 苏州园区志愿服务活动区块链平台 # 生产环境配置 ENV = 'production' -# 若依管理系统/生产环境 +# 苏州园区志愿服务活动区块链平台/生产环境 VUE_APP_BASE_API = 'http://39.101.188.84:9034' diff --git a/.env.staging b/.env.staging index 361859f..1a6570c 100644 --- a/.env.staging +++ b/.env.staging @@ -1,10 +1,10 @@ # 页面标题 -VUE_APP_TITLE = 若依管理系统 +VUE_APP_TITLE = 苏州园区志愿服务活动区块链平台 NODE_ENV = production # 测试环境配置 ENV = 'staging' -# 若依管理系统/测试环境 +# 苏州园区志愿服务活动区块链平台/测试环境 VUE_APP_BASE_API = '/stage-api' diff --git a/package.json b/package.json index f9ecdd5..7d42b65 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ruoyi", "version": "3.8.6", - "description": "若依管理系统", + "description": "苏州园区志愿服务活动区块链平台", "author": "若依", "license": "MIT", "scripts": { @@ -45,6 +45,7 @@ "file-saver": "2.0.5", "fuse.js": "6.4.3", "highlight.js": "9.18.5", + "html2canvas": "^1.4.1", "js-beautify": "1.13.0", "js-cookie": "3.0.1", "jsencrypt": "3.0.0-rc.1", diff --git a/src/api/volunteer/gxhzs/gxhzsgl/index.js b/src/api/volunteer/gxhzs/gxhzsgl/index.js index e40f3a6..b128292 100644 --- a/src/api/volunteer/gxhzs/gxhzsgl/index.js +++ b/src/api/volunteer/gxhzs/gxhzsgl/index.js @@ -42,3 +42,26 @@ export function delCertificates(id) { method: "delete", }); } +//可兑换的一次性证书 +export function zskdh(query) { + return request({ + url: "/zhiyuanzhe/pointsRedemption/page", + method: "get", + params: query, + }); +} +//发放 +export function exchange(data) { + return request({ + url: "/zhiyuanzhe/pointsRedemption/exchange", + method: "post", + data, + }); +} +//查询用户多少积分 +export function findIntegral() { + return request({ + url: "/zhiyuanzhe/pointsRedemption/findIntegral", + method: "get", + }); +} diff --git a/src/api/volunteer/gxhzs/hdzsff/index.js b/src/api/volunteer/gxhzs/hdzsff/index.js index 391fed8..d79ceda 100644 --- a/src/api/volunteer/gxhzs/hdzsff/index.js +++ b/src/api/volunteer/gxhzs/hdzsff/index.js @@ -30,3 +30,52 @@ export function editData(data) { data, }); } + +//获取个性化证书发放列表 +export function dsbrecordsList(query) { + return request({ + url: "/zhiyuanzhe/dsbrecords/list", + method: "get", + params: query, + }); +} +//获取兑换记录详细信息 +export function dsbrecordsInfo(id) { + return request({ + url: "/zhiyuanzhe/dsbrecords/" + id, + method: "get", + }); +} +//发放个性化证书 +export function issue(data) { + return request({ + url: "/zhiyuanzhe/dsbrecords/issue", + method: "post", + data, + }); +} + +// 查询一次性证书列表 +export function getYcList(query) { + return request({ + url: "/zhiyuanzhe/points/list", + method: "get", + params: query, + }); +} +//获取一次性活动详情信息 +export function getYcInfo(id) { + return request({ + url: "/zhiyuanzhe/points/" + id, + method: "get", + }); +} + +//发放一次行证书 +export function ycIssue(data) { + return request({ + url: "/zhiyuanzhe/points/issue", + method: "post", + data, + }); +} diff --git a/src/assets/icons/svg/aJifen.svg b/src/assets/icons/svg/aJifen.svg new file mode 100644 index 0000000..228956c --- /dev/null +++ b/src/assets/icons/svg/aJifen.svg @@ -0,0 +1,8 @@ + + + + + diff --git a/src/assets/icons/svg/diy1.svg b/src/assets/icons/svg/diy1.svg new file mode 100644 index 0000000..df7190e --- /dev/null +++ b/src/assets/icons/svg/diy1.svg @@ -0,0 +1,18 @@ + + + + + + diff --git a/src/assets/icons/svg/diy2.svg b/src/assets/icons/svg/diy2.svg new file mode 100644 index 0000000..c2e867d --- /dev/null +++ b/src/assets/icons/svg/diy2.svg @@ -0,0 +1,40 @@ + + + + + + + + + diff --git a/src/assets/icons/svg/diy3.svg b/src/assets/icons/svg/diy3.svg new file mode 100644 index 0000000..2c8f364 --- /dev/null +++ b/src/assets/icons/svg/diy3.svg @@ -0,0 +1,17 @@ + + + + + + + diff --git a/src/assets/icons/svg/diy4.svg b/src/assets/icons/svg/diy4.svg new file mode 100644 index 0000000..e7b3033 --- /dev/null +++ b/src/assets/icons/svg/diy4.svg @@ -0,0 +1,17 @@ + + + + + + diff --git a/src/assets/icons/svg/diy5.svg b/src/assets/icons/svg/diy5.svg new file mode 100644 index 0000000..8fa6ca9 --- /dev/null +++ b/src/assets/icons/svg/diy5.svg @@ -0,0 +1,15 @@ + + + + + + + + diff --git a/src/assets/icons/svg/个性化证书.svg b/src/assets/icons/svg/个性化证书.svg new file mode 100644 index 0000000..527222d --- /dev/null +++ b/src/assets/icons/svg/个性化证书.svg @@ -0,0 +1,11 @@ + + + + + diff --git a/src/assets/icons/svg/数据.svg b/src/assets/icons/svg/数据.svg new file mode 100644 index 0000000..abe91ce --- /dev/null +++ b/src/assets/icons/svg/数据.svg @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/src/assets/icons/svg/积分兑换.svg b/src/assets/icons/svg/积分兑换.svg new file mode 100644 index 0000000..ba118fe --- /dev/null +++ b/src/assets/icons/svg/积分兑换.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + diff --git a/src/assets/images/login-background.jpg b/src/assets/images/login-background.jpg index 8a89eb8..58c5129 100644 Binary files a/src/assets/images/login-background.jpg and b/src/assets/images/login-background.jpg differ diff --git a/src/assets/images/sidebar.png b/src/assets/images/sidebar.png index 95e9e92..0811d24 100644 Binary files a/src/assets/images/sidebar.png and b/src/assets/images/sidebar.png differ diff --git a/src/assets/images/z.png b/src/assets/images/z.png new file mode 100644 index 0000000..397d2e4 Binary files /dev/null and b/src/assets/images/z.png differ diff --git a/src/assets/images/zs.jpg b/src/assets/images/zs.jpg new file mode 100644 index 0000000..2a46b2b Binary files /dev/null and b/src/assets/images/zs.jpg differ diff --git a/src/assets/styles/font.css b/src/assets/styles/font.css index 06972ad..0b92bdf 100644 --- a/src/assets/styles/font.css +++ b/src/assets/styles/font.css @@ -19,4 +19,8 @@ @font-face { font-family: "Alibaba PuHuiTi"; src: url("http://www.jichuanglanhai.com/demo/taicang-file/fonts/Alibaba-PuHuiTi-Regular.otf"); +} +@font-face { + font-family: "din-bold-2.ttf"; + src: url("http://www.jichuanglanhai.com/demo/taicang-file/fonts/din-bold-2.ttf"); } \ No newline at end of file diff --git a/src/assets/styles/myTable.scss b/src/assets/styles/myTable.scss index 7a893b6..155860b 100644 --- a/src/assets/styles/myTable.scss +++ b/src/assets/styles/myTable.scss @@ -33,16 +33,16 @@ } //详情 .info-box { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; + // display: flex; + // flex-direction: column; + // align-items: center; + // justify-content: center; .info-item { display: flex; // align-items: center; margin-bottom: 20px; .item-lable { - width: 80px; + min-width: 80px; font-size: 16px; font-family: "Alibaba-PuHuiTi-Regular"; font-weight: 400; @@ -56,3 +56,192 @@ } } } +//搜索框 +.search { + display: flex; + align-items: center; + justify-content: space-between; +} +//卡片布局 +::v-deep .book-main { + margin: 0; + padding: 0; + display: flex; + flex-wrap: wrap; + width: 100%; + li { + width: 19%; + height: 48.5%; + margin-right: calc(1% + (2% / 8)); + margin-bottom: 1%; + list-style: none; + background: #fff; + box-shadow: 0px 3px 15px 0px rgba(184, 184, 184, 0.22); + border-radius: 10px; + position: relative; + overflow: hidden; + + .integral-num { + position: absolute; + top: 6%; + right: 7%; + font-size: 18px; + font-weight: bold; + color: $--color-primary; + z-index: 10; + font-family: "din-bold-2.ttf"; + } + .operate { + height: 13%; + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 10px; + .integral { + flex: 1; + padding: 4px 0; + font-weight: 400; + font-family: "Alibaba-PuHuiTi-Regular"; + color: #4d4949; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + } + .exchange-btn { + padding: 4px 10px; + font-size: 14px; + cursor: pointer; + font-family: "Alibaba-PuHuiTi-Regular"; + font-weight: 400; + color: $--color-primary; + background: rgba(249, 86, 95, 0.1); + border-radius: 4px; + } + } + } + li:nth-of-type(5n) { + margin-right: 0; + } + + // li:nth-of-type(n + 2) { + // margin-bottom: 0; + // } +} +::v-deep .pagination-container { + height: 0 !important; + padding: 0 !important; + background: transparent !important; + .el-pagination { + top: 20px; + } +} + +.noData { + display: flex; + align-items: center; + justify-content: center; +} + +//证书查看 +::v-deep .conversionInfo { + .basicInfo, + .logisticsInfo { + .title { + display: flex; + align-items: center; + img { + width: 14px; + margin-right: 10px; + } + span { + font-size: 16px; + font-family: "Alibaba PuHuiTi"; + font-weight: bold; + color: #4c4949; + } + } + .info { + margin-top: 20px; + display: grid; + grid-column: 1fr; + grid-row-gap: 20px; + .lists { + display: flex; + align-items: center; + justify-content: space-between; + .list-left, + .list-right { + flex: 1; + display: flex; + align-items: center; + div { + &:nth-child(1) { + font-size: 14px; + font-family: "Alibaba PuHuiTi"; + font-weight: 400; + color: #4c4949; + } + &:nth-child(2) { + font-size: 14px; + font-family: "Alibaba PuHuiTi"; + font-weight: 400; + color: #807a7a; + } + } + } + } + } + } + .logisticsInfo { + margin-top: 30px; + } +} + +// 电子证书 +.zs-box { + height: 450px; + width: 300px; + position: relative; + background: url("~@/assets/images/zs.jpg"); + background-size: 100% 100%; + .zs-z { + position: absolute; + bottom: 10%; + right: 10%; + border: 1px solid red; + height: 50px; + width: 50px; + border-radius: 50%; + overflow: hidden; + background: url("~@/assets/images/z.png"); + background-size: 100% 100%; + } + .top-text { + position: absolute; + top: 30%; + left: 50%; + font-size: 14px; + transform: translateX(-50%); + z-index: 10; + span { + display: inline-block; + width: 60px; + text-align: center; + border-bottom: 1px solid #333; + } + } + .bottom-text { + position: absolute; + bottom: 10%; + right: 10%; + z-index: 10; + .lable-value { + margin-bottom: 3px; + font-size: 13px; + display: flex; + align-items: center; + justify-content: space-between; + } + } +} diff --git a/src/assets/styles/sidebar.scss b/src/assets/styles/sidebar.scss index 85f1ec0..943f8fe 100644 --- a/src/assets/styles/sidebar.scss +++ b/src/assets/styles/sidebar.scss @@ -14,7 +14,8 @@ -webkit-transition: width 0.28s; transition: width 0.28s; width: $base-sidebar-width !important; - background-color: $base-menu-background; + // background-color: $base-menu-background; + background-color: transparent; height: 100%; // position: fixed; font-size: 0px; @@ -23,8 +24,8 @@ left: 0; z-index: 1001; overflow: hidden; - -webkit-box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35); - box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35); + // -webkit-box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35); + // box-shadow: 2px 0 6px rgba(0, 21, 41, 0.35); // reset element-ui css .horizontal-collapse-transition { @@ -72,6 +73,11 @@ .el-menu-item, .el-submenu__title { + font-size: 14px !important; + font-family: "Alibaba-PuHuiTi-Regular"; + + height: 50px !important; + line-height: 50px; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; @@ -81,6 +87,7 @@ .submenu-title-noDropdown, .el-submenu__title { &:hover { + border-radius: 5px !important; color: #f8414d !important; background-color: rgba(255, 72, 83, 0.2) !important; } @@ -88,6 +95,8 @@ & .theme-dark .is-active > .el-submenu__title { // color: $base-menu-color-active !important; + border-radius: 5px !important; + color: #fff !important; background-color: #f23f4a !important; } @@ -110,9 +119,12 @@ & .theme-dark .el-submenu .el-menu-item { // background-color: $base-sub-menu-background !important; background-color: #faf7f7 !important; + height: 50px !important; + line-height: 50px !important; &:hover { // background-color: $base-sub-menu-hover !important; + border-radius: 5px !important; color: #f8414d !important; background-color: rgba(255, 72, 83, 0.2) !important; } diff --git a/src/components/TopNav/index.vue b/src/components/TopNav/index.vue index daee1b8..1e703dc 100644 --- a/src/components/TopNav/index.vue +++ b/src/components/TopNav/index.vue @@ -5,7 +5,11 @@ @select="handleSelect" >