sunny 1 year ago
parent
commit
0cdb98496a

+ 38 - 8
src/api/allApi.js

@@ -1,11 +1,11 @@
 import request from '@/utils/request'
 
 // 商品兑换列表
-export function integralList(query) {
+export function integralList(data) {
   return request({
     url: '/admin/mall-sku/integral/user/list',
-    method: 'get',
-    data: query
+    method: 'post',
+    data
   })
 }
 
@@ -45,11 +45,11 @@ export function notice(query) {
 }
 
 //商品,节日礼品兑换
-export function start(data) {
+export function start(query) {
   return request({
     url: '/admin/mall-order/start',
     method: 'post',
-    data
+    data:query
   })
 }
 
@@ -64,11 +64,11 @@ export function welfareType(data) {
 
 
 //用户福利、兑换券列表
-export function welfareList(data) {
+export function welfareList(query) {
   return request({
     url: '/admin/mall-welfare/welfare/user/list',
-    method: 'post',
-    data
+    method: 'get',
+    params:query
   })
 }
 //用户福利领取
@@ -80,6 +80,36 @@ export function receiveWelfare(data) {
   })
 }
 
+
+//用户兑换列表
+export function orderList(data) {
+  return request({
+    url: '/admin/mall-order/user/list',
+    method: 'post',
+    data
+  })
+}
+
+//订单详情
+export function orderInfo(data) {
+  return request({
+    url: '/admin/mall-order/info',
+    method: 'post',
+    data
+  })
+}
+
+
+//员工确认
+export function orderConfirm(data) {
+  return request({
+    url: '/admin/mall-order/user/confirm',
+    method: 'post',
+    data
+  })
+}
+
+
 export function createNews(data) {
   return request({
     url: '/news/createForDGTSiteNews',

+ 539 - 0
src/assets/icon/demo.css

@@ -0,0 +1,539 @@
+/* Logo 字体 */
+@font-face {
+  font-family: "iconfont logo";
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
+}
+
+.logo {
+  font-family: "iconfont logo";
+  font-size: 160px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+/* tabs */
+.nav-tabs {
+  position: relative;
+}
+
+.nav-tabs .nav-more {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  height: 42px;
+  line-height: 42px;
+  color: #666;
+}
+
+#tabs {
+  border-bottom: 1px solid #eee;
+}
+
+#tabs li {
+  cursor: pointer;
+  width: 100px;
+  height: 40px;
+  line-height: 40px;
+  text-align: center;
+  font-size: 16px;
+  border-bottom: 2px solid transparent;
+  position: relative;
+  z-index: 1;
+  margin-bottom: -1px;
+  color: #666;
+}
+
+
+#tabs .active {
+  border-bottom-color: #f00;
+  color: #222;
+}
+
+.tab-container .content {
+  display: none;
+}
+
+/* 页面布局 */
+.main {
+  padding: 30px 100px;
+  width: 960px;
+  margin: 0 auto;
+}
+
+.main .logo {
+  color: #333;
+  text-align: left;
+  margin-bottom: 30px;
+  line-height: 1;
+  height: 110px;
+  margin-top: -50px;
+  overflow: hidden;
+  *zoom: 1;
+}
+
+.main .logo a {
+  font-size: 160px;
+  color: #333;
+}
+
+.helps {
+  margin-top: 40px;
+}
+
+.helps pre {
+  padding: 20px;
+  margin: 10px 0;
+  border: solid 1px #e7e1cd;
+  background-color: #fffdef;
+  overflow: auto;
+}
+
+.icon_lists {
+  width: 100% !important;
+  overflow: hidden;
+  *zoom: 1;
+}
+
+.icon_lists li {
+  width: 100px;
+  margin-bottom: 10px;
+  margin-right: 20px;
+  text-align: center;
+  list-style: none !important;
+  cursor: default;
+}
+
+.icon_lists li .code-name {
+  line-height: 1.2;
+}
+
+.icon_lists .icon {
+  display: block;
+  height: 100px;
+  line-height: 100px;
+  font-size: 42px;
+  margin: 10px auto;
+  color: #333;
+  -webkit-transition: font-size 0.25s linear, width 0.25s linear;
+  -moz-transition: font-size 0.25s linear, width 0.25s linear;
+  transition: font-size 0.25s linear, width 0.25s linear;
+}
+
+.icon_lists .icon:hover {
+  font-size: 100px;
+}
+
+.icon_lists .svg-icon {
+  /* 通过设置 font-size 来改变图标大小 */
+  width: 1em;
+  /* 图标和文字相邻时,垂直对齐 */
+  vertical-align: -0.15em;
+  /* 通过设置 color 来改变 SVG 的颜色/fill */
+  fill: currentColor;
+  /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
+      normalize.css 中也包含这行 */
+  overflow: hidden;
+}
+
+.icon_lists li .name,
+.icon_lists li .code-name {
+  color: #666;
+}
+
+/* markdown 样式 */
+.markdown {
+  color: #666;
+  font-size: 14px;
+  line-height: 1.8;
+}
+
+.highlight {
+  line-height: 1.5;
+}
+
+.markdown img {
+  vertical-align: middle;
+  max-width: 100%;
+}
+
+.markdown h1 {
+  color: #404040;
+  font-weight: 500;
+  line-height: 40px;
+  margin-bottom: 24px;
+}
+
+.markdown h2,
+.markdown h3,
+.markdown h4,
+.markdown h5,
+.markdown h6 {
+  color: #404040;
+  margin: 1.6em 0 0.6em 0;
+  font-weight: 500;
+  clear: both;
+}
+
+.markdown h1 {
+  font-size: 28px;
+}
+
+.markdown h2 {
+  font-size: 22px;
+}
+
+.markdown h3 {
+  font-size: 16px;
+}
+
+.markdown h4 {
+  font-size: 14px;
+}
+
+.markdown h5 {
+  font-size: 12px;
+}
+
+.markdown h6 {
+  font-size: 12px;
+}
+
+.markdown hr {
+  height: 1px;
+  border: 0;
+  background: #e9e9e9;
+  margin: 16px 0;
+  clear: both;
+}
+
+.markdown p {
+  margin: 1em 0;
+}
+
+.markdown>p,
+.markdown>blockquote,
+.markdown>.highlight,
+.markdown>ol,
+.markdown>ul {
+  width: 80%;
+}
+
+.markdown ul>li {
+  list-style: circle;
+}
+
+.markdown>ul li,
+.markdown blockquote ul>li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown>ul li p,
+.markdown>ol li p {
+  margin: 0.6em 0;
+}
+
+.markdown ol>li {
+  list-style: decimal;
+}
+
+.markdown>ol li,
+.markdown blockquote ol>li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown code {
+  margin: 0 3px;
+  padding: 0 5px;
+  background: #eee;
+  border-radius: 3px;
+}
+
+.markdown strong,
+.markdown b {
+  font-weight: 600;
+}
+
+.markdown>table {
+  border-collapse: collapse;
+  border-spacing: 0px;
+  empty-cells: show;
+  border: 1px solid #e9e9e9;
+  width: 95%;
+  margin-bottom: 24px;
+}
+
+.markdown>table th {
+  white-space: nowrap;
+  color: #333;
+  font-weight: 600;
+}
+
+.markdown>table th,
+.markdown>table td {
+  border: 1px solid #e9e9e9;
+  padding: 8px 16px;
+  text-align: left;
+}
+
+.markdown>table th {
+  background: #F7F7F7;
+}
+
+.markdown blockquote {
+  font-size: 90%;
+  color: #999;
+  border-left: 4px solid #e9e9e9;
+  padding-left: 0.8em;
+  margin: 1em 0;
+}
+
+.markdown blockquote p {
+  margin: 0;
+}
+
+.markdown .anchor {
+  opacity: 0;
+  transition: opacity 0.3s ease;
+  margin-left: 8px;
+}
+
+.markdown .waiting {
+  color: #ccc;
+}
+
+.markdown h1:hover .anchor,
+.markdown h2:hover .anchor,
+.markdown h3:hover .anchor,
+.markdown h4:hover .anchor,
+.markdown h5:hover .anchor,
+.markdown h6:hover .anchor {
+  opacity: 1;
+  display: inline-block;
+}
+
+.markdown>br,
+.markdown>p>br {
+  clear: both;
+}
+
+
+.hljs {
+  display: block;
+  background: white;
+  padding: 0.5em;
+  color: #333333;
+  overflow-x: auto;
+}
+
+.hljs-comment,
+.hljs-meta {
+  color: #969896;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-strong,
+.hljs-emphasis,
+.hljs-quote {
+  color: #df5000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+  color: #a71d5d;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute {
+  color: #0086b3;
+}
+
+.hljs-section,
+.hljs-name {
+  color: #63a35c;
+}
+
+.hljs-tag {
+  color: #333333;
+}
+
+.hljs-title,
+.hljs-attr,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+  color: #795da3;
+}
+
+.hljs-addition {
+  color: #55a532;
+  background-color: #eaffea;
+}
+
+.hljs-deletion {
+  color: #bd2c00;
+  background-color: #ffecec;
+}
+
+.hljs-link {
+  text-decoration: underline;
+}
+
+/* 代码高亮 */
+/* PrismJS 1.15.0
+https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+code[class*="language-"],
+pre[class*="language-"] {
+  color: black;
+  background: none;
+  text-shadow: 0 1px white;
+  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+  text-align: left;
+  white-space: pre;
+  word-spacing: normal;
+  word-break: normal;
+  word-wrap: normal;
+  line-height: 1.5;
+
+  -moz-tab-size: 4;
+  -o-tab-size: 4;
+  tab-size: 4;
+
+  -webkit-hyphens: none;
+  -moz-hyphens: none;
+  -ms-hyphens: none;
+  hyphens: none;
+}
+
+pre[class*="language-"]::-moz-selection,
+pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection,
+code[class*="language-"] ::-moz-selection {
+  text-shadow: none;
+  background: #b3d4fc;
+}
+
+pre[class*="language-"]::selection,
+pre[class*="language-"] ::selection,
+code[class*="language-"]::selection,
+code[class*="language-"] ::selection {
+  text-shadow: none;
+  background: #b3d4fc;
+}
+
+@media print {
+
+  code[class*="language-"],
+  pre[class*="language-"] {
+    text-shadow: none;
+  }
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+  padding: 1em;
+  margin: .5em 0;
+  overflow: auto;
+}
+
+:not(pre)>code[class*="language-"],
+pre[class*="language-"] {
+  background: #f5f2f0;
+}
+
+/* Inline code */
+:not(pre)>code[class*="language-"] {
+  padding: .1em;
+  border-radius: .3em;
+  white-space: normal;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+  color: slategray;
+}
+
+.token.punctuation {
+  color: #999;
+}
+
+.namespace {
+  opacity: .7;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+  color: #905;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+  color: #690;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+  color: #9a6e3a;
+  background: hsla(0, 0%, 100%, .5);
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+  color: #07a;
+}
+
+.token.function,
+.token.class-name {
+  color: #DD4A68;
+}
+
+.token.regex,
+.token.important,
+.token.variable {
+  color: #e90;
+}
+
+.token.important,
+.token.bold {
+  font-weight: bold;
+}
+
+.token.italic {
+  font-style: italic;
+}
+
+.token.entity {
+  cursor: help;
+}

+ 487 - 0
src/assets/icon/demo_index.html

@@ -0,0 +1,487 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8"/>
+  <title>iconfont Demo</title>
+  <link rel="shortcut icon" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg" type="image/x-icon"/>
+  <link rel="icon" type="image/svg+xml" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg"/>
+  <link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
+  <link rel="stylesheet" href="demo.css">
+  <link rel="stylesheet" href="iconfont.css">
+  <script src="iconfont.js"></script>
+  <!-- jQuery -->
+  <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
+  <!-- 代码高亮 -->
+  <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
+  <style>
+    .main .logo {
+      margin-top: 0;
+      height: auto;
+    }
+
+    .main .logo a {
+      display: flex;
+      align-items: center;
+    }
+
+    .main .logo .sub-title {
+      margin-left: 0.5em;
+      font-size: 22px;
+      color: #fff;
+      background: linear-gradient(-45deg, #3967FF, #B500FE);
+      -webkit-background-clip: text;
+      -webkit-text-fill-color: transparent;
+    }
+  </style>
+</head>
+<body>
+  <div class="main">
+    <h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">
+      <img width="200" src="https://img.alicdn.com/imgextra/i3/O1CN01Mn65HV1FfSEzR6DKv_!!6000000000514-55-tps-228-59.svg">
+      
+    </a></h1>
+    <div class="nav-tabs">
+      <ul id="tabs" class="dib-box">
+        <li class="dib active"><span>Unicode</span></li>
+        <li class="dib"><span>Font class</span></li>
+        <li class="dib"><span>Symbol</span></li>
+      </ul>
+      
+      <a href="https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=4020610" target="_blank" class="nav-more">查看项目</a>
+      
+    </div>
+    <div class="tab-container">
+      <div class="content unicode" style="display: block;">
+          <ul class="icon_lists dib-box">
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe620;</span>
+                <div class="name">功能管理</div>
+                <div class="code-name">&amp;#xe620;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6da;</span>
+                <div class="name">红包</div>
+                <div class="code-name">&amp;#xe6da;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe615;</span>
+                <div class="name">做任务赚积分</div>
+                <div class="code-name">&amp;#xe615;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6db;</span>
+                <div class="name">公告小喇叭</div>
+                <div class="code-name">&amp;#xe6db;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe6cb;</span>
+                <div class="name">首页</div>
+                <div class="code-name">&amp;#xe6cb;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe60f;</span>
+                <div class="name">活动</div>
+                <div class="code-name">&amp;#xe60f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe61a;</span>
+                <div class="name">个人中心</div>
+                <div class="code-name">&amp;#xe61a;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe606;</span>
+                <div class="name">积分商城</div>
+                <div class="code-name">&amp;#xe606;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe870;</span>
+                <div class="name">赞</div>
+                <div class="code-name">&amp;#xe870;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe641;</span>
+                <div class="name">签到</div>
+                <div class="code-name">&amp;#xe641;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe80d;</span>
+                <div class="name">勋章</div>
+                <div class="code-name">&amp;#xe80d;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xeca9;</span>
+                <div class="name">积分</div>
+                <div class="code-name">&amp;#xeca9;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xecb3;</span>
+                <div class="name">优惠券</div>
+                <div class="code-name">&amp;#xecb3;</div>
+              </li>
+          
+          </ul>
+          <div class="article markdown">
+          <h2 id="unicode-">Unicode 引用</h2>
+          <hr>
+
+          <p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
+          <ul>
+            <li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
+            <li>默认情况下不支持多色,直接添加多色图标会自动去色。</li>
+          </ul>
+          <blockquote>
+            <p>注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)</p>
+          </blockquote>
+          <p>Unicode 使用步骤如下:</p>
+          <h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
+<pre><code class="language-css"
+>@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.woff2?t=1681783689038') format('woff2'),
+       url('iconfont.woff?t=1681783689038') format('woff'),
+       url('iconfont.ttf?t=1681783689038') format('truetype');
+}
+</code></pre>
+          <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
+<pre><code class="language-css"
+>.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+</code></pre>
+          <h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
+<pre>
+<code class="language-html"
+>&lt;span class="iconfont"&gt;&amp;#x33;&lt;/span&gt;
+</code></pre>
+          <blockquote>
+            <p>"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
+          </blockquote>
+          </div>
+      </div>
+      <div class="content font-class">
+        <ul class="icon_lists dib-box">
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mall-gongnengguanli"></span>
+            <div class="name">
+              功能管理
+            </div>
+            <div class="code-name">.icon-mall-gongnengguanli
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mall-hongbao"></span>
+            <div class="name">
+              红包
+            </div>
+            <div class="code-name">.icon-mall-hongbao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mall-zuorenwuzhuanjifen"></span>
+            <div class="name">
+              做任务赚积分
+            </div>
+            <div class="code-name">.icon-mall-zuorenwuzhuanjifen
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mall-gonggaoxiaolaba"></span>
+            <div class="name">
+              公告小喇叭
+            </div>
+            <div class="code-name">.icon-mall-gonggaoxiaolaba
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mall-shouye"></span>
+            <div class="name">
+              首页
+            </div>
+            <div class="code-name">.icon-mall-shouye
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mall-huodong"></span>
+            <div class="name">
+              活动
+            </div>
+            <div class="code-name">.icon-mall-huodong
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mall-gerenzhongxin"></span>
+            <div class="name">
+              个人中心
+            </div>
+            <div class="code-name">.icon-mall-gerenzhongxin
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mall-jifenshangcheng"></span>
+            <div class="name">
+              积分商城
+            </div>
+            <div class="code-name">.icon-mall-jifenshangcheng
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mall-zan"></span>
+            <div class="name">
+              赞
+            </div>
+            <div class="code-name">.icon-mall-zan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mall-qiandao"></span>
+            <div class="name">
+              签到
+            </div>
+            <div class="code-name">.icon-mall-qiandao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mall-xunzhang"></span>
+            <div class="name">
+              勋章
+            </div>
+            <div class="code-name">.icon-mall-xunzhang
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mall-jifen"></span>
+            <div class="name">
+              积分
+            </div>
+            <div class="code-name">.icon-mall-jifen
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-mall-youhuiquan"></span>
+            <div class="name">
+              优惠券
+            </div>
+            <div class="code-name">.icon-mall-youhuiquan
+            </div>
+          </li>
+          
+        </ul>
+        <div class="article markdown">
+        <h2 id="font-class-">font-class 引用</h2>
+        <hr>
+
+        <p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p>
+        <p>与 Unicode 使用方式相比,具有如下特点:</p>
+        <ul>
+          <li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
+          <li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
+        </ul>
+        <p>使用步骤如下:</p>
+        <h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
+<pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
+</code></pre>
+        <h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
+<pre><code class="language-html">&lt;span class="iconfont icon-mall-xxx"&gt;&lt;/span&gt;
+</code></pre>
+        <blockquote>
+          <p>"
+            iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
+        </blockquote>
+      </div>
+      </div>
+      <div class="content symbol">
+          <ul class="icon_lists dib-box">
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mall-gongnengguanli"></use>
+                </svg>
+                <div class="name">功能管理</div>
+                <div class="code-name">#icon-mall-gongnengguanli</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mall-hongbao"></use>
+                </svg>
+                <div class="name">红包</div>
+                <div class="code-name">#icon-mall-hongbao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mall-zuorenwuzhuanjifen"></use>
+                </svg>
+                <div class="name">做任务赚积分</div>
+                <div class="code-name">#icon-mall-zuorenwuzhuanjifen</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mall-gonggaoxiaolaba"></use>
+                </svg>
+                <div class="name">公告小喇叭</div>
+                <div class="code-name">#icon-mall-gonggaoxiaolaba</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mall-shouye"></use>
+                </svg>
+                <div class="name">首页</div>
+                <div class="code-name">#icon-mall-shouye</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mall-huodong"></use>
+                </svg>
+                <div class="name">活动</div>
+                <div class="code-name">#icon-mall-huodong</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mall-gerenzhongxin"></use>
+                </svg>
+                <div class="name">个人中心</div>
+                <div class="code-name">#icon-mall-gerenzhongxin</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mall-jifenshangcheng"></use>
+                </svg>
+                <div class="name">积分商城</div>
+                <div class="code-name">#icon-mall-jifenshangcheng</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mall-zan"></use>
+                </svg>
+                <div class="name">赞</div>
+                <div class="code-name">#icon-mall-zan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mall-qiandao"></use>
+                </svg>
+                <div class="name">签到</div>
+                <div class="code-name">#icon-mall-qiandao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mall-xunzhang"></use>
+                </svg>
+                <div class="name">勋章</div>
+                <div class="code-name">#icon-mall-xunzhang</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mall-jifen"></use>
+                </svg>
+                <div class="name">积分</div>
+                <div class="code-name">#icon-mall-jifen</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-mall-youhuiquan"></use>
+                </svg>
+                <div class="name">优惠券</div>
+                <div class="code-name">#icon-mall-youhuiquan</div>
+            </li>
+          
+          </ul>
+          <div class="article markdown">
+          <h2 id="symbol-">Symbol 引用</h2>
+          <hr>
+
+          <p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
+            这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p>
+          <ul>
+            <li>支持多色图标了,不再受单色限制。</li>
+            <li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li>
+            <li>兼容性较差,支持 IE9+,及现代浏览器。</li>
+            <li>浏览器渲染 SVG 的性能一般,还不如 png。</li>
+          </ul>
+          <p>使用步骤如下:</p>
+          <h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
+<pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;
+</code></pre>
+          <h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
+<pre><code class="language-html">&lt;style&gt;
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+&lt;/style&gt;
+</code></pre>
+          <h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
+<pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt;
+  &lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt;
+&lt;/svg&gt;
+</code></pre>
+          </div>
+      </div>
+
+    </div>
+  </div>
+  <script>
+  $(document).ready(function () {
+      $('.tab-container .content:first').show()
+
+      $('#tabs li').click(function (e) {
+        var tabContent = $('.tab-container .content')
+        var index = $(this).index()
+
+        if ($(this).hasClass('active')) {
+          return
+        } else {
+          $('#tabs li').removeClass('active')
+          $(this).addClass('active')
+
+          tabContent.hide().eq(index).fadeIn()
+        }
+      })
+    })
+  </script>
+</body>
+</html>

+ 76 - 0
src/assets/icon/iconfont.css

@@ -0,0 +1,76 @@
+@font-face {
+  font-family: "iconfont"; /* Project id 4020610 */
+  src: url('iconfont.woff2?t=1681783689038') format('woff2'),
+       url('iconfont.woff?t=1681783689038') format('woff'),
+       url('iconfont.ttf?t=1681783689038') format('truetype');
+}
+
+.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+[class^="icon-mall-"], [class*="icon-mall-"]
+{
+  font-family:"iconfont" !important;
+  font-size:16px;
+  font-style:normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-mall-gongnengguanli:before {
+  content: "\e620";
+}
+
+.icon-mall-hongbao:before {
+  content: "\e6da";
+}
+
+.icon-mall-zuorenwuzhuanjifen:before {
+  content: "\e615";
+}
+
+.icon-mall-gonggaoxiaolaba:before {
+  content: "\e6db";
+}
+
+.icon-mall-shouye:before {
+  content: "\e6cb";
+}
+
+.icon-mall-huodong:before {
+  content: "\e60f";
+}
+
+.icon-mall-gerenzhongxin:before {
+  content: "\e61a";
+}
+
+.icon-mall-jifenshangcheng:before {
+  content: "\e606";
+}
+
+.icon-mall-zan:before {
+  content: "\e870";
+}
+
+.icon-mall-qiandao:before {
+  content: "\e641";
+}
+
+.icon-mall-xunzhang:before {
+  content: "\e80d";
+}
+
+.icon-mall-jifen:before {
+  content: "\eca9";
+}
+
+.icon-mall-youhuiquan:before {
+  content: "\ecb3";
+}
+

File diff suppressed because it is too large
+ 1 - 0
src/assets/icon/iconfont.js


+ 100 - 0
src/assets/icon/iconfont.json

@@ -0,0 +1,100 @@
+{
+  "id": "4020610",
+  "name": "积分商城",
+  "font_family": "iconfont",
+  "css_prefix_text": "icon-mall-",
+  "description": "",
+  "glyphs": [
+    {
+      "icon_id": "1320055",
+      "name": "功能管理",
+      "font_class": "gongnengguanli",
+      "unicode": "e620",
+      "unicode_decimal": 58912
+    },
+    {
+      "icon_id": "780044",
+      "name": "红包",
+      "font_class": "hongbao",
+      "unicode": "e6da",
+      "unicode_decimal": 59098
+    },
+    {
+      "icon_id": "1249083",
+      "name": "做任务赚积分",
+      "font_class": "zuorenwuzhuanjifen",
+      "unicode": "e615",
+      "unicode_decimal": 58901
+    },
+    {
+      "icon_id": "140164",
+      "name": "公告小喇叭",
+      "font_class": "gonggaoxiaolaba",
+      "unicode": "e6db",
+      "unicode_decimal": 59099
+    },
+    {
+      "icon_id": "673799",
+      "name": "首页",
+      "font_class": "shouye",
+      "unicode": "e6cb",
+      "unicode_decimal": 59083
+    },
+    {
+      "icon_id": "736500",
+      "name": "活动",
+      "font_class": "huodong",
+      "unicode": "e60f",
+      "unicode_decimal": 58895
+    },
+    {
+      "icon_id": "851706",
+      "name": "个人中心",
+      "font_class": "gerenzhongxin",
+      "unicode": "e61a",
+      "unicode_decimal": 58906
+    },
+    {
+      "icon_id": "1035514",
+      "name": "积分商城",
+      "font_class": "jifenshangcheng",
+      "unicode": "e606",
+      "unicode_decimal": 58886
+    },
+    {
+      "icon_id": "2076196",
+      "name": "赞",
+      "font_class": "zan",
+      "unicode": "e870",
+      "unicode_decimal": 59504
+    },
+    {
+      "icon_id": "2811150",
+      "name": "签到",
+      "font_class": "qiandao",
+      "unicode": "e641",
+      "unicode_decimal": 58945
+    },
+    {
+      "icon_id": "2932865",
+      "name": "勋章",
+      "font_class": "xunzhang",
+      "unicode": "e80d",
+      "unicode_decimal": 59405
+    },
+    {
+      "icon_id": "24732488",
+      "name": "积分",
+      "font_class": "jifen",
+      "unicode": "eca9",
+      "unicode_decimal": 60585
+    },
+    {
+      "icon_id": "24732577",
+      "name": "优惠券",
+      "font_class": "youhuiquan",
+      "unicode": "ecb3",
+      "unicode_decimal": 60595
+    }
+  ]
+}

BIN
src/assets/icon/iconfont.ttf


BIN
src/assets/icon/iconfont.woff


BIN
src/assets/icon/iconfont.woff2


+ 1 - 1
src/components/AppHeader.vue

@@ -3,7 +3,7 @@
         <nav class="header-box">
             <router-link to="/home">
                 <div class="header-item">
-                    <i class="el-icon-s-home"></i>首页
+                    <i class="icon-mall-gongnengguanli"></i>功能管理
                 </div>
             </router-link>
             <router-link to="/noticeCenter">

+ 26 - 7
src/components/AppSidebar.vue

@@ -4,7 +4,7 @@
             <div v-for="(item,index) in sideBarList" :key="index" class="nav-item-wrap">
                 <div class="nav-item-content" :class="{ active: item.checked }">
                     <router-link :to="item.path" class="nav-item">
-                        <i class="el-icon-s-home"></i>
+                        <i :class="item.icon"></i>
                         <span class="nav-item-text">{{ item.name }}</span>
                     </router-link>
                 </div>
@@ -23,32 +23,51 @@ export default {
                 value:'employeeDynamics',
                 name:'首页',
                 path:'/home/employeeDynamics',
+                icon:'icon-mall-shouye',
                 checked:false,
             },
+            // {
+            //     value:'',
+            //     name:'每日签到',
+            //     path:'',
+            //     icon:'icon-mall-qiandao',
+            //     checked:false,
+            // },
             {
                 value:'pointsMall',
                 name:'积分商城',
                 path:'/home/pointsMall',
+                icon:'icon-mall-jifenshangcheng',
+                checked:false,
+            },
+            {
+                value:'festiveEvents',
+                name:'节日活动',
+                path:'/home/festiveEvents',
+                icon:'icon-mall-huodong',
                 checked:false,
             },
             {
                 value:'welfareList',
                 name:'福利领取',
                 path:'/home/welfareList',
+                icon:'icon-mall-hongbao',
                 checked:false,
             },
             {
                 value:'myCenter',
                 name:'个人中心',
                 path:'/home/myCenter',
+                icon:'icon-mall-gerenzhongxin',
                 checked:false,
             },
-            {
-                value:'festiveEvents',
-                name:'节日活动',
-                path:'/home/festiveEvents',
-                checked:false,
-            }
+            // {
+            //     value:'',
+            //     name:'积分获取',
+            //     path:'',
+            //     icon:'icon-mall-zuorenwuzhuanjifen',
+            //     checked:false,
+            // },
         ],
         employeeDynamics: false,
         pointsMall: false,

+ 2 - 1
src/main.js

@@ -4,7 +4,8 @@ import router from './router'
 import ElementUI from 'element-ui';
 import 'element-ui/lib/theme-chalk/index.css';
 import './assets/css/global.css';
-// import './permission' // permission control
+import './assets/icon/iconfont.css';
+import './permission' // permission control
 Vue.config.productionTip = false
 Vue.use(ElementUI);
 new Vue({

+ 4 - 0
src/router/index.js

@@ -26,6 +26,10 @@ const routes = [
         path: '/home/pointsMall/redeem',
         component: () => import('@/views/HomeView/RedeemView.vue')
       },
+      {
+        path: '/home/myCenter/goodsDetail',
+        component: () => import('@/views/HomeView/GoodsDetail.vue')
+      },
       {
         path: '/home/welfareList',
         component: () => import('@/views/HomeView/WelfareList.vue')

File diff suppressed because it is too large
+ 494 - 0
src/views/HomeView/GoodsDetail.vue


+ 102 - 30
src/views/HomeView/MyCenter.vue

@@ -36,9 +36,8 @@
                     <div v-else class="integralRules" v-html="integralRules"></div>
                 </el-tab-pane>
                 <el-tab-pane label="我的兑换" name="second">
-                    <el-radio-group v-model="secondTabPosition">
-                        <el-radio-button v-for="(item, index) in secondTabsList" :key="index" :label="item.value"
-                            @click="handleClickSecondTabs(item.value)">
+                    <el-radio-group v-model="secondTabPosition" @change="handleClickSecondTabs">
+                        <el-radio-button v-for="(item, index) in secondTabsList" :key="index" :label="item.value">
                             {{ item.name }}
                         </el-radio-button>
                     </el-radio-group>
@@ -46,20 +45,20 @@
                         <div class="gains_wrapper">
                             <div class="list_wrapper">
                                 <div class="list">
-                                    <div class="item">
+                                    <div v-for="(item,index) in secondList" :key="index" class="item">
                                         <div class="img-wapper">
                                             <el-image
-                                                src="https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e8405b2af7c94893bbdb1676a32213e7~tplv-k3u1fbpfcp-no-mark:0:0:0:0.awebp?"
+                                                :src="item.imgUrl"
                                                 class="item-icon"></el-image>
                                         </div>
                                         <div class="main">
-                                            <p class="goods_name">小铺专属反馈通道</p>
+                                            <p class="goods_name">{{ item.name }}</p>
                                             <p class="date">
                                                 兑换时间
-                                                2023-04-14
+                                                {{ item.createTime }}
                                             </p>
                                             <div class="buttons">
-                                                <button class="button-item actived">
+                                                <button class="button-item actived" @click="handleClickGoods(item.orderId)">
                                                     查看信息
                                                     <svg width="16" height="16" viewBox="0 0 16 16"
                                                         fill="none" xmlns="http://www.w3.org/2000/svg" class="arrow">
@@ -69,10 +68,11 @@
                                             </div>
                                         </div>
                                         <div class="status bottom">
-                                            <span>待确认</span>
+                                            <span v-if="item.orderType==1">待确认</span>
+                                            <span v-if="item.orderType==2">作废</span>
+                                            <span v-if="item.orderType==3">已确认</span>
                                         </div>
                                     </div>
-                                    
                                 </div>
                             </div>
                         </div>
@@ -84,22 +84,22 @@
                         <div class="gains_wrapper">
                             <div class="list_wrapper">
                                 <div class="list">
-                                    <div class="item isVirtual">
+                                    <div v-for="(item,index) in thirdList" :key="index" class="item isVirtual">
                                         <div class="img-wapper">
                                             <el-image
-                                                src="https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e8405b2af7c94893bbdb1676a32213e7~tplv-k3u1fbpfcp-no-mark:0:0:0:0.awebp?"
+                                                :src="item.imgUrl"
                                                 class="item-icon"></el-image>
                                         </div>
                                         <div class="main">
-                                            <p class="goods_name">小铺专属反馈通道</p>
+                                            <p class="goods_name">{{ item.title }}</p>
                                             <p class="date">
-                                                兑换时间
-                                                2023-04-14
+                                                兑换截止时间
+                                                {{ item.endTime }}
                                             </p>
                                             
                                         </div>
                                         <div class="status">
-                                            <router-link to="/home/pointsMall" class="use-btn">
+                                            <router-link v-if="item.status == 1" to="/home/pointsMall" class="use-btn">
                                                 去使用
                                                 <i class="el-icon-arrow-right"></i>
                                             </router-link> 
@@ -118,11 +118,12 @@
     </div>
 </template>
 <script>
-import { integralList, festivalList, notice, welfareType } from "@/api/allApi";
+import { orderList, welfareList, } from "@/api/allApi";
 export default {
     data() {
         return {
-            // tab 列表
+            
+            firstList:[],
             firstTabPosition: 'integralList',
             firstTabsList: [
                 {
@@ -134,6 +135,36 @@ export default {
                     name: '积分规则',
                 },
             ],
+            secondList:[
+                {
+                    name:'蓝牙耳机',
+                    "orderId": 0,
+                    "orderSeq": "123",
+                    "orderType": 0,
+                    "orderTypeName": "商务待确认",
+                    "purchaserId": "13525451463",
+                    "deptName": "研发",
+                    "purchaser": "张三",
+                    "contact": "张三",
+                    "contactAddr": "**市",
+                    "contactEmaiL": "@qq.com",
+                    "contactPhone": "13525451463",
+                    "createTime": "2023-04-18 13:29:40",
+                    "skuId": 18,
+                    "skuCount": 1,
+                    "total": 300,
+                    "skuSeq": "123",
+                    "skuType": 0,
+                    "skuTypeName": "积分",
+                    "productAttribute": 0,
+                    "productAttributeName": "实物",
+                    "deliveryType": 0,
+                    "deliveryTypeName": "非邮寄",
+                    "imgUrl": "https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b186b6b25bb44c3b8ee6445432b4ddf5~tplv-k3u1fbpfcp-no-mark:0:0:0:0.image?",
+                    "welfarId": null,
+                    "logs": null
+                }
+            ],
             secondTabPosition: 'all',
             secondTabsList: [
                 {
@@ -153,6 +184,20 @@ export default {
                     name: '作废',
                 },
             ],
+            thirdList:[
+                {
+                    title:'中秋活动礼品券',
+                    endTime:'2023-10-12',
+                    imgUrl: "https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b186b6b25bb44c3b8ee6445432b4ddf5~tplv-k3u1fbpfcp-no-mark:0:0:0:0.image?",
+                    status:'1',
+                },
+                {
+                    title:'国庆活动礼品券',
+                    endTime:'2023-10-12',
+                    imgUrl: "https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b186b6b25bb44c3b8ee6445432b4ddf5~tplv-k3u1fbpfcp-no-mark:0:0:0:0.image?",
+                    status:'2',
+                },
+            ],
             options: [{
                 value: '选项1',
                 label: '黄金糕'
@@ -226,10 +271,31 @@ export default {
     },
     created() {
         
-        // this.getList(this.activeName);
-        // this.getNotice(this.activeName);
+        this.getList(this.activeName);
+        this.getNotice(this.activeName);
     },
     methods: {
+        getFirstList(val){
+
+        },
+        getSecondList(val){
+            orderList({orderTypes:val}).then(response=>{
+                this.secondList = response.data.data;
+            })
+        },
+        getThirdList(){
+            welfareList({status:'1.2'}).then(response=>{
+                this.thirdList = response.data.data;
+            })
+        },
+        handleClickGoods(orderId) {
+            this.$router.push({
+                path: '/home/myCenter/goodsDetail',
+                query: {
+                    orderId: orderId,
+                }
+            });
+        },
         handleSizeChange(val) {
             console.log(`每页 ${val} 条`);
         },
@@ -240,7 +306,10 @@ export default {
             console.log(val);
         },
         handleClickSecondTabs(val) {
-            console.log(val);
+            if(val=='all'){
+                val = '1,2,3'
+            }
+            // this.getSecondList(val);
         },
         getNotice(val) {
             notice({ noticeType: val }).then(response => {
@@ -270,18 +339,21 @@ export default {
 
         handleClick(tab, event) {
             console.log(tab.name, event);
+            var name = tab.name;
+            // if(name=='first'){
+            //     this.getFirstList(val);
+            // }
+            // if(name=='second'){
+            //     this.getSecondList(val);
+            // }
+            // if(name=='third'){
+            //     this.getThirdList(val);
+            // }
+            
             // this.getList(tab.name);
             // this.getNotice(tab.name);
         },
-        handleClickExchange(id) {
-            this.$router.push({
-                path: '/home/pointsMall/redeem',
-                query: {
-                    id: id,
-                    activeName: this.activeName
-                }
-            });
-        },
+        
     }
 };
 </script>

File diff suppressed because it is too large
+ 15 - 55
src/views/HomeView/PointsMall.vue


File diff suppressed because it is too large
+ 16 - 12
src/views/HomeView/RedeemView.vue