From b2b8b1350319d07b9003a9102395d5b82ec9f49f Mon Sep 17 00:00:00 2001 From: zmj <1493694146@qq.com> Date: Thu, 6 Jun 2024 18:22:17 +0800 Subject: [PATCH] (Update API paths, adjust configurations, and optimize user and order management functions)dd --- package-lock.json | 9 + package.json | 1 + src/api/address.ts | 14 +- src/api/delivery.ts | 26 + src/api/goodsList.ts | 22 +- src/assets/iconfont/demo.css | 539 ++++++ src/assets/iconfont/demo_index.html | 1476 +++++++++++++++++ src/assets/iconfont/iconfont.css | 239 +++ src/assets/iconfont/iconfont.js | 1 + src/assets/iconfont/iconfont.json | 401 +++++ src/assets/iconfont/iconfont.ttf | Bin 0 -> 20212 bytes src/assets/iconfont/iconfont.woff | Bin 0 -> 10764 bytes src/assets/iconfont/iconfont.woff2 | Bin 0 -> 9064 bytes src/components/iconfont/index.vue | 47 + src/components/material/index.vue | 283 +--- src/main.ts | 1 + .../permission/admin/components/myTable.vue | 59 + src/views/permission/admin/detail.vue | 55 + src/views/permission/admin/edit.vue | 335 ++-- src/views/permission/admin/index.vue | 225 +-- src/views/permission/admin/old/edit1.vue | 274 +++ src/views/permission/admin/old/index1.vue | 139 ++ .../delivery/components/myTable.vue | 57 + src/views/permission/delivery/detail.vue | 46 + src/views/permission/delivery/edit.vue | 145 ++ src/views/permission/delivery/index.vue | 133 ++ src/views/store_finance_flow/index.vue | 4 +- src/views/storesSet/index.vue | 113 +- src/views/storesSet/myMap/index.vue | 78 +- src/views/workbench/components/sendData.vue | 27 + src/views/workbench/components/tradData.vue | 8 +- src/views/workbench/index.vue | 403 +++-- src/views/workbench/index1.vue | 324 ++-- src/views/workbench/old/index1.vue | 182 ++ 34 files changed, 4695 insertions(+), 971 deletions(-) create mode 100644 src/api/delivery.ts create mode 100644 src/assets/iconfont/demo.css create mode 100644 src/assets/iconfont/demo_index.html create mode 100644 src/assets/iconfont/iconfont.css create mode 100644 src/assets/iconfont/iconfont.js create mode 100644 src/assets/iconfont/iconfont.json create mode 100644 src/assets/iconfont/iconfont.ttf create mode 100644 src/assets/iconfont/iconfont.woff create mode 100644 src/assets/iconfont/iconfont.woff2 create mode 100644 src/components/iconfont/index.vue create mode 100644 src/views/permission/admin/components/myTable.vue create mode 100644 src/views/permission/admin/detail.vue create mode 100644 src/views/permission/admin/old/edit1.vue create mode 100644 src/views/permission/admin/old/index1.vue create mode 100644 src/views/permission/delivery/components/myTable.vue create mode 100644 src/views/permission/delivery/detail.vue create mode 100644 src/views/permission/delivery/edit.vue create mode 100644 src/views/permission/delivery/index.vue create mode 100644 src/views/workbench/components/sendData.vue create mode 100644 src/views/workbench/old/index1.vue diff --git a/package-lock.json b/package-lock.json index 9b57a9e..c7558e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "echarts": "^5.3.3", "element-plus": "2.2.27", "highlight.js": "^11.6.0", + "moment": "^2.30.1", "nprogress": "^0.2.0", "pinia": "^2.0.14", "vue": "^3.2.37", @@ -5362,6 +5363,14 @@ "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", diff --git a/package.json b/package.json index 7ff83cc..9a01b37 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "echarts": "^5.3.3", "element-plus": "2.2.27", "highlight.js": "^11.6.0", + "moment": "^2.30.1", "nprogress": "^0.2.0", "pinia": "^2.0.14", "vue": "^3.2.37", diff --git a/src/api/address.ts b/src/api/address.ts index c0c0070..a0f5625 100644 --- a/src/api/address.ts +++ b/src/api/address.ts @@ -1,20 +1,20 @@ import request from '@/utils/request' export function apigetProvinceLists() { - return request.get({ url: '/geo/province' }) + return request.get({ url: '/config/province' }) } export function apicityLists(params: any) { - return request.get({ url: '/geo/city', params }) + return request.get({ url: '/config/city', params }) } export function apiAreaLists(params: any) { - return request.get({ url: '/geo/area', params }) + return request.get({ url: '/config/area', params }) } -export function apiStreetLists(params: any) { - return request.get({ url: '/geo/street', params }) +export function apiGetStore( ) { + return request.post({ url: '/config/store' }) } -export function apiVillageLists(params: any) { - return request.get({ url: '/geo/village', params }) +export function apiSaveStore(params: any) { + return request.post({ url: '/config/saveStore', params }) } diff --git a/src/api/delivery.ts b/src/api/delivery.ts new file mode 100644 index 0000000..c0dd6ad --- /dev/null +++ b/src/api/delivery.ts @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +export function apiDeliveryLists(params:any) { + return request.get({ url: '/delivery/lists',params }) +} + +export function apiDeliveryAdd(params:any) { + return request.post({ url: '/delivery/add',params }) +} + +export function apiDeliveryEdit(params:any) { + return request.post({ url: '/delivery/edit',params }) +} + +export function apiDeliveryDetail(params:any) { + return request.get({ url: '/delivery/detail',params }) +} + + +export function apiDeliveryStatus(params:any) { + return request.post({ url: '/delivery/status',params }) +} + +export function apiDeliveryDelete(params:any) { + return request.post({ url: '/delivery/delete',params }) +} \ No newline at end of file diff --git a/src/api/goodsList.ts b/src/api/goodsList.ts index 11b8660..85ac250 100644 --- a/src/api/goodsList.ts +++ b/src/api/goodsList.ts @@ -28,6 +28,24 @@ export function apiStatus(params: any) { } // 店员列表 -export function apiStaffLists() { - return request.get({ url: '/staff/lists' }) +export function apiStaffLists(params:any) { + return request.get({ url: '/staff/lists',params }) } + + +export function apiStaffAdd(params:any) { + return request.post({ url: '/staff/add',params }) +} + +export function apiStaffEdit(params:any) { + return request.post({ url: '/staff/edit',params }) +} + +export function apiStaffDetail(params:any) { + return request.get({ url: '/staff/detail',params }) +} + + +export function apiStaffStatus(params:any) { + return request.post({ url: '/staff/status',params }) +} \ No newline at end of file diff --git a/src/assets/iconfont/demo.css b/src/assets/iconfont/demo.css new file mode 100644 index 0000000..a67054a --- /dev/null +++ b/src/assets/iconfont/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; +} diff --git a/src/assets/iconfont/demo_index.html b/src/assets/iconfont/demo_index.html new file mode 100644 index 0000000..647dc92 --- /dev/null +++ b/src/assets/iconfont/demo_index.html @@ -0,0 +1,1476 @@ + + + + + iconfont Demo + + + + + + + + + + + + + +
+

+ + +

+ +
+
+
    + +
  • + +
    流量
    +
    &#xe6bd;
    +
  • + +
  • + +
    供应商
    +
    &#xe6be;
    +
  • + +
  • + +
    分销商
    +
    &#xe6bf;
    +
  • + +
  • + +
    人群
    +
    &#xe6c1;
    +
  • + +
  • + +
    人群管理
    +
    &#xe6c4;
    +
  • + +
  • + +
    分销商结算
    +
    &#xe6dd;
    +
  • + +
  • + +
    商家数据
    +
    &#xe6de;
    +
  • + +
  • + +
    搜索
    +
    &#xe6a6;
    +
  • + +
  • + +
    协同
    +
    &#xe6a7;
    +
  • + +
  • + +
    招商
    +
    &#xe6a8;
    +
  • + +
  • + +
    商品
    +
    &#xe6a9;
    +
  • + +
  • + +
    单据
    +
    &#xe6aa;
    +
  • + +
  • + +
    工具箱
    +
    &#xe6ab;
    +
  • + +
  • + +
    +
    &#xe6ac;
    +
  • + +
  • + +
    平台
    +
    &#xe6ad;
    +
  • + +
  • + +
    经销
    +
    &#xe6ae;
    +
  • + +
  • + +
    资源
    +
    &#xe6af;
    +
  • + +
  • + +
    +
    &#xe6bb;
    +
  • + +
  • + +
    用户
    +
    &#xe6a3;
    +
  • + +
  • + +
    安全
    +
    &#xe6a2;
    +
  • + +
  • + +
    数据
    +
    &#xe6a4;
    +
  • + +
  • + +
    疑问
    +
    &#xe6a1;
    +
  • + +
  • + +
    调拨
    +
    &#xe6a5;
    +
  • + +
  • + +
    用户管理
    +
    &#xe6b0;
    +
  • + +
  • + +
    商家管理
    +
    &#xe6b1;
    +
  • + +
  • + +
    分销商管理
    +
    &#xe6b2;
    +
  • + +
  • + +
    商家
    +
    &#xe6b3;
    +
  • + +
  • + +
    供应商管理
    +
    &#xe6b4;
    +
  • + +
  • + +
    商品管理
    +
    &#xe6b5;
    +
  • + +
  • + +
    商品复制
    +
    &#xe6b6;
    +
  • + +
  • + +
    采购单
    +
    &#xe6b7;
    +
  • + +
  • + +
    采购价管理
    +
    &#xe6b8;
    +
  • + +
  • + +
    定价
    +
    &#xe6b9;
    +
  • + +
  • + +
    结算报表
    +
    &#xe6ba;
    +
  • + +
  • + +
    入库
    +
    &#xe6c2;
    +
  • + +
  • + +
    库存管理
    +
    &#xe6c3;
    +
  • + +
  • + +
    出入库管理
    +
    &#xe6c6;
    +
  • + +
  • + +
    退仓管理
    +
    &#xe6c8;
    +
  • + +
  • + +
    合同
    +
    &#xe6d1;
    +
  • + +
  • + +
    商品计划
    +
    &#xe6d8;
    +
  • + +
  • + +
    销量计划
    +
    &#xe6da;
    +
  • + +
  • + +
    销量实时看板
    +
    &#xe6e0;
    +
  • + +
  • + +
    结算效率分析
    +
    &#xe6df;
    +
  • + +
  • + +
    营销流量配置
    +
    &#xe6e2;
    +
  • + +
  • + +
    运营工具
    +
    &#xe6e3;
    +
  • + +
  • + +
    目标管理
    +
    &#xe6e4;
    +
  • + +
  • + +
    目标制定
    +
    &#xe6e5;
    +
  • + +
  • + +
    活动协同
    +
    &#xe6e6;
    +
  • + +
  • + +
    目标监控
    +
    &#xe6e7;
    +
  • + +
  • + +
    增值服务
    +
    &#xe6e8;
    +
  • + +
  • + +
    全链路可售
    +
    &#xe6e9;
    +
  • + +
  • + +
    超级服务
    +
    &#xe6ea;
    +
  • + +
  • + +
    上门取货
    +
    &#xe6eb;
    +
  • + +
  • + +
    定位
    +
    &#xe6ec;
    +
  • + +
  • + +
    预约
    +
    &#xe6ed;
    +
  • + +
  • + +
    物流
    +
    &#xe6ee;
    +
  • + +
+
+

Unicode 引用

+
+ +

Unicode 是字体在网页端最原始的应用方式,特点是:

+
    +
  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • +
  • 默认情况下不支持多色,直接添加多色图标会自动去色。
  • +
+
+

注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)

+
+

Unicode 使用步骤如下:

+

第一步:拷贝项目下面生成的 @font-face

+
@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.woff2?t=1717554669936') format('woff2'),
+       url('iconfont.woff?t=1717554669936') format('woff'),
+       url('iconfont.ttf?t=1717554669936') format('truetype');
+}
+
+

第二步:定义使用 iconfont 的样式

+
.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+

第三步:挑选相应图标并获取字体编码,应用于页面

+
+<span class="iconfont">&#x33;</span>
+
+
+

"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    + 流量 +
    +
    .icon-RectangleCopy49 +
    +
  • + +
  • + +
    + 供应商 +
    +
    .icon-RectangleCopy50 +
    +
  • + +
  • + +
    + 分销商 +
    +
    .icon-RectangleCopy51 +
    +
  • + +
  • + +
    + 人群 +
    +
    .icon-RectangleCopy53 +
    +
  • + +
  • + +
    + 人群管理 +
    +
    .icon-RectangleCopy54 +
    +
  • + +
  • + +
    + 分销商结算 +
    +
    .icon-RectangleCopy59 +
    +
  • + +
  • + +
    + 商家数据 +
    +
    .icon-RectangleCopy60 +
    +
  • + +
  • + +
    + 搜索 +
    +
    .icon-RectangleCopy37 +
    +
  • + +
  • + +
    + 协同 +
    +
    .icon-RectangleCopy38 +
    +
  • + +
  • + +
    + 招商 +
    +
    .icon-RectangleCopy39 +
    +
  • + +
  • + +
    + 商品 +
    +
    .icon-RectangleCopy40 +
    +
  • + +
  • + +
    + 单据 +
    +
    .icon-RectangleCopy41 +
    +
  • + +
  • + +
    + 工具箱 +
    +
    .icon-RectangleCopy42 +
    +
  • + +
  • + +
    + 券 +
    +
    .icon-RectangleCopy43 +
    +
  • + +
  • + +
    + 平台 +
    +
    .icon-RectangleCopy44 +
    +
  • + +
  • + +
    + 经销 +
    +
    .icon-RectangleCopy45 +
    +
  • + +
  • + +
    + 资源 +
    +
    .icon-RectangleCopy46 +
    +
  • + +
  • + +
    + 货 +
    +
    .icon-RectangleCopy47 +
    +
  • + +
  • + +
    + 用户 +
    +
    .icon-RectangleCopy +
    +
  • + +
  • + +
    + 安全 +
    +
    .icon-RectangleCopy1 +
    +
  • + +
  • + +
    + 数据 +
    +
    .icon-RectangleCopy2 +
    +
  • + +
  • + +
    + 疑问 +
    +
    .icon-RectangleCopy3 +
    +
  • + +
  • + +
    + 调拨 +
    +
    .icon-RectangleCopy4 +
    +
  • + +
  • + +
    + 用户管理 +
    +
    .icon-RectangleCopy5 +
    +
  • + +
  • + +
    + 商家管理 +
    +
    .icon-RectangleCopy6 +
    +
  • + +
  • + +
    + 分销商管理 +
    +
    .icon-RectangleCopy7 +
    +
  • + +
  • + +
    + 商家 +
    +
    .icon-RectangleCopy8 +
    +
  • + +
  • + +
    + 供应商管理 +
    +
    .icon-RectangleCopy9 +
    +
  • + +
  • + +
    + 商品管理 +
    +
    .icon-RectangleCopy10 +
    +
  • + +
  • + +
    + 商品复制 +
    +
    .icon-RectangleCopy11 +
    +
  • + +
  • + +
    + 采购单 +
    +
    .icon-RectangleCopy12 +
    +
  • + +
  • + +
    + 采购价管理 +
    +
    .icon-RectangleCopy13 +
    +
  • + +
  • + +
    + 定价 +
    +
    .icon-RectangleCopy14 +
    +
  • + +
  • + +
    + 结算报表 +
    +
    .icon-RectangleCopy15 +
    +
  • + +
  • + +
    + 入库 +
    +
    .icon-RectangleCopy16 +
    +
  • + +
  • + +
    + 库存管理 +
    +
    .icon-RectangleCopy17 +
    +
  • + +
  • + +
    + 出入库管理 +
    +
    .icon-RectangleCopy18 +
    +
  • + +
  • + +
    + 退仓管理 +
    +
    .icon-RectangleCopy19 +
    +
  • + +
  • + +
    + 合同 +
    +
    .icon-RectangleCopy20 +
    +
  • + +
  • + +
    + 商品计划 +
    +
    .icon-RectangleCopy21 +
    +
  • + +
  • + +
    + 销量计划 +
    +
    .icon-RectangleCopy22 +
    +
  • + +
  • + +
    + 销量实时看板 +
    +
    .icon-RectangleCopy23 +
    +
  • + +
  • + +
    + 结算效率分析 +
    +
    .icon-RectangleCopy24 +
    +
  • + +
  • + +
    + 营销流量配置 +
    +
    .icon-RectangleCopy25 +
    +
  • + +
  • + +
    + 运营工具 +
    +
    .icon-RectangleCopy26 +
    +
  • + +
  • + +
    + 目标管理 +
    +
    .icon-RectangleCopy27 +
    +
  • + +
  • + +
    + 目标制定 +
    +
    .icon-RectangleCopy28 +
    +
  • + +
  • + +
    + 活动协同 +
    +
    .icon-RectangleCopy29 +
    +
  • + +
  • + +
    + 目标监控 +
    +
    .icon-RectangleCopy30 +
    +
  • + +
  • + +
    + 增值服务 +
    +
    .icon-RectangleCopy31 +
    +
  • + +
  • + +
    + 全链路可售 +
    +
    .icon-RectangleCopy32 +
    +
  • + +
  • + +
    + 超级服务 +
    +
    .icon-RectangleCopy33 +
    +
  • + +
  • + +
    + 上门取货 +
    +
    .icon-RectangleCopy34 +
    +
  • + +
  • + +
    + 定位 +
    +
    .icon-dingwei +
    +
  • + +
  • + +
    + 预约 +
    +
    .icon-RectangleCopy35 +
    +
  • + +
  • + +
    + 物流 +
    +
    .icon-RectangleCopy36 +
    +
  • + +
+
+

font-class 引用

+
+ +

font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

+

与 Unicode 使用方式相比,具有如下特点:

+
    +
  • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
  • +
  • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 fontclass 代码:

+
<link rel="stylesheet" href="./iconfont.css">
+
+

第二步:挑选相应图标并获取类名,应用于页面:

+
<span class="iconfont icon-xxx"></span>
+
+
+

" + iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    流量
    +
    #icon-RectangleCopy49
    +
  • + +
  • + +
    供应商
    +
    #icon-RectangleCopy50
    +
  • + +
  • + +
    分销商
    +
    #icon-RectangleCopy51
    +
  • + +
  • + +
    人群
    +
    #icon-RectangleCopy53
    +
  • + +
  • + +
    人群管理
    +
    #icon-RectangleCopy54
    +
  • + +
  • + +
    分销商结算
    +
    #icon-RectangleCopy59
    +
  • + +
  • + +
    商家数据
    +
    #icon-RectangleCopy60
    +
  • + +
  • + +
    搜索
    +
    #icon-RectangleCopy37
    +
  • + +
  • + +
    协同
    +
    #icon-RectangleCopy38
    +
  • + +
  • + +
    招商
    +
    #icon-RectangleCopy39
    +
  • + +
  • + +
    商品
    +
    #icon-RectangleCopy40
    +
  • + +
  • + +
    单据
    +
    #icon-RectangleCopy41
    +
  • + +
  • + +
    工具箱
    +
    #icon-RectangleCopy42
    +
  • + +
  • + +
    +
    #icon-RectangleCopy43
    +
  • + +
  • + +
    平台
    +
    #icon-RectangleCopy44
    +
  • + +
  • + +
    经销
    +
    #icon-RectangleCopy45
    +
  • + +
  • + +
    资源
    +
    #icon-RectangleCopy46
    +
  • + +
  • + +
    +
    #icon-RectangleCopy47
    +
  • + +
  • + +
    用户
    +
    #icon-RectangleCopy
    +
  • + +
  • + +
    安全
    +
    #icon-RectangleCopy1
    +
  • + +
  • + +
    数据
    +
    #icon-RectangleCopy2
    +
  • + +
  • + +
    疑问
    +
    #icon-RectangleCopy3
    +
  • + +
  • + +
    调拨
    +
    #icon-RectangleCopy4
    +
  • + +
  • + +
    用户管理
    +
    #icon-RectangleCopy5
    +
  • + +
  • + +
    商家管理
    +
    #icon-RectangleCopy6
    +
  • + +
  • + +
    分销商管理
    +
    #icon-RectangleCopy7
    +
  • + +
  • + +
    商家
    +
    #icon-RectangleCopy8
    +
  • + +
  • + +
    供应商管理
    +
    #icon-RectangleCopy9
    +
  • + +
  • + +
    商品管理
    +
    #icon-RectangleCopy10
    +
  • + +
  • + +
    商品复制
    +
    #icon-RectangleCopy11
    +
  • + +
  • + +
    采购单
    +
    #icon-RectangleCopy12
    +
  • + +
  • + +
    采购价管理
    +
    #icon-RectangleCopy13
    +
  • + +
  • + +
    定价
    +
    #icon-RectangleCopy14
    +
  • + +
  • + +
    结算报表
    +
    #icon-RectangleCopy15
    +
  • + +
  • + +
    入库
    +
    #icon-RectangleCopy16
    +
  • + +
  • + +
    库存管理
    +
    #icon-RectangleCopy17
    +
  • + +
  • + +
    出入库管理
    +
    #icon-RectangleCopy18
    +
  • + +
  • + +
    退仓管理
    +
    #icon-RectangleCopy19
    +
  • + +
  • + +
    合同
    +
    #icon-RectangleCopy20
    +
  • + +
  • + +
    商品计划
    +
    #icon-RectangleCopy21
    +
  • + +
  • + +
    销量计划
    +
    #icon-RectangleCopy22
    +
  • + +
  • + +
    销量实时看板
    +
    #icon-RectangleCopy23
    +
  • + +
  • + +
    结算效率分析
    +
    #icon-RectangleCopy24
    +
  • + +
  • + +
    营销流量配置
    +
    #icon-RectangleCopy25
    +
  • + +
  • + +
    运营工具
    +
    #icon-RectangleCopy26
    +
  • + +
  • + +
    目标管理
    +
    #icon-RectangleCopy27
    +
  • + +
  • + +
    目标制定
    +
    #icon-RectangleCopy28
    +
  • + +
  • + +
    活动协同
    +
    #icon-RectangleCopy29
    +
  • + +
  • + +
    目标监控
    +
    #icon-RectangleCopy30
    +
  • + +
  • + +
    增值服务
    +
    #icon-RectangleCopy31
    +
  • + +
  • + +
    全链路可售
    +
    #icon-RectangleCopy32
    +
  • + +
  • + +
    超级服务
    +
    #icon-RectangleCopy33
    +
  • + +
  • + +
    上门取货
    +
    #icon-RectangleCopy34
    +
  • + +
  • + +
    定位
    +
    #icon-dingwei
    +
  • + +
  • + +
    预约
    +
    #icon-RectangleCopy35
    +
  • + +
  • + +
    物流
    +
    #icon-RectangleCopy36
    +
  • + +
+
+

Symbol 引用

+
+ +

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 + 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

+
    +
  • 支持多色图标了,不再受单色限制。
  • +
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • +
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • +
  • 浏览器渲染 SVG 的性能一般,还不如 png。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 symbol 代码:

+
<script src="./iconfont.js"></script>
+
+

第二步:加入通用 CSS 代码(引入一次就行):

+
<style>
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+</style>
+
+

第三步:挑选相应图标并获取类名,应用于页面:

+
<svg class="icon" aria-hidden="true">
+  <use xlink:href="#icon-xxx"></use>
+</svg>
+
+
+
+ +
+
+ + + diff --git a/src/assets/iconfont/iconfont.css b/src/assets/iconfont/iconfont.css new file mode 100644 index 0000000..00dc8ad --- /dev/null +++ b/src/assets/iconfont/iconfont.css @@ -0,0 +1,239 @@ +@font-face { + font-family: "iconfont"; /* Project id 4573174 */ + src: url('iconfont.woff2?t=1717554669936') format('woff2'), + url('iconfont.woff?t=1717554669936') format('woff'), + url('iconfont.ttf?t=1717554669936') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-RectangleCopy49:before { + content: "\e6bd"; +} + +.icon-RectangleCopy50:before { + content: "\e6be"; +} + +.icon-RectangleCopy51:before { + content: "\e6bf"; +} + +.icon-RectangleCopy53:before { + content: "\e6c1"; +} + +.icon-RectangleCopy54:before { + content: "\e6c4"; +} + +.icon-RectangleCopy59:before { + content: "\e6dd"; +} + +.icon-RectangleCopy60:before { + content: "\e6de"; +} + +.icon-RectangleCopy37:before { + content: "\e6a6"; +} + +.icon-RectangleCopy38:before { + content: "\e6a7"; +} + +.icon-RectangleCopy39:before { + content: "\e6a8"; +} + +.icon-RectangleCopy40:before { + content: "\e6a9"; +} + +.icon-RectangleCopy41:before { + content: "\e6aa"; +} + +.icon-RectangleCopy42:before { + content: "\e6ab"; +} + +.icon-RectangleCopy43:before { + content: "\e6ac"; +} + +.icon-RectangleCopy44:before { + content: "\e6ad"; +} + +.icon-RectangleCopy45:before { + content: "\e6ae"; +} + +.icon-RectangleCopy46:before { + content: "\e6af"; +} + +.icon-RectangleCopy47:before { + content: "\e6bb"; +} + +.icon-RectangleCopy:before { + content: "\e6a3"; +} + +.icon-RectangleCopy1:before { + content: "\e6a2"; +} + +.icon-RectangleCopy2:before { + content: "\e6a4"; +} + +.icon-RectangleCopy3:before { + content: "\e6a1"; +} + +.icon-RectangleCopy4:before { + content: "\e6a5"; +} + +.icon-RectangleCopy5:before { + content: "\e6b0"; +} + +.icon-RectangleCopy6:before { + content: "\e6b1"; +} + +.icon-RectangleCopy7:before { + content: "\e6b2"; +} + +.icon-RectangleCopy8:before { + content: "\e6b3"; +} + +.icon-RectangleCopy9:before { + content: "\e6b4"; +} + +.icon-RectangleCopy10:before { + content: "\e6b5"; +} + +.icon-RectangleCopy11:before { + content: "\e6b6"; +} + +.icon-RectangleCopy12:before { + content: "\e6b7"; +} + +.icon-RectangleCopy13:before { + content: "\e6b8"; +} + +.icon-RectangleCopy14:before { + content: "\e6b9"; +} + +.icon-RectangleCopy15:before { + content: "\e6ba"; +} + +.icon-RectangleCopy16:before { + content: "\e6c2"; +} + +.icon-RectangleCopy17:before { + content: "\e6c3"; +} + +.icon-RectangleCopy18:before { + content: "\e6c6"; +} + +.icon-RectangleCopy19:before { + content: "\e6c8"; +} + +.icon-RectangleCopy20:before { + content: "\e6d1"; +} + +.icon-RectangleCopy21:before { + content: "\e6d8"; +} + +.icon-RectangleCopy22:before { + content: "\e6da"; +} + +.icon-RectangleCopy23:before { + content: "\e6e0"; +} + +.icon-RectangleCopy24:before { + content: "\e6df"; +} + +.icon-RectangleCopy25:before { + content: "\e6e2"; +} + +.icon-RectangleCopy26:before { + content: "\e6e3"; +} + +.icon-RectangleCopy27:before { + content: "\e6e4"; +} + +.icon-RectangleCopy28:before { + content: "\e6e5"; +} + +.icon-RectangleCopy29:before { + content: "\e6e6"; +} + +.icon-RectangleCopy30:before { + content: "\e6e7"; +} + +.icon-RectangleCopy31:before { + content: "\e6e8"; +} + +.icon-RectangleCopy32:before { + content: "\e6e9"; +} + +.icon-RectangleCopy33:before { + content: "\e6ea"; +} + +.icon-RectangleCopy34:before { + content: "\e6eb"; +} + +.icon-dingwei:before { + content: "\e6ec"; +} + +.icon-RectangleCopy35:before { + content: "\e6ed"; +} + +.icon-RectangleCopy36:before { + content: "\e6ee"; +} + diff --git a/src/assets/iconfont/iconfont.js b/src/assets/iconfont/iconfont.js new file mode 100644 index 0000000..b7d01ec --- /dev/null +++ b/src/assets/iconfont/iconfont.js @@ -0,0 +1 @@ +window._iconfont_svg_string_4573174='',function(c){var a=(a=document.getElementsByTagName("script"))[a.length-1],h=a.getAttribute("data-injectcss"),a=a.getAttribute("data-disable-injectsvg");if(!a){var t,l,o,p,v,e=function(a,h){h.parentNode.insertBefore(a,h)};if(h&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(a){console&&console.log(a)}}t=function(){var a,h=document.createElement("div");h.innerHTML=c._iconfont_svg_string_4573174,(h=h.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",h=h,(a=document.body).firstChild?e(h,a.firstChild):a.appendChild(h))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(t,0):(l=function(){document.removeEventListener("DOMContentLoaded",l,!1),t()},document.addEventListener("DOMContentLoaded",l,!1)):document.attachEvent&&(o=t,p=c.document,v=!1,d(),p.onreadystatechange=function(){"complete"==p.readyState&&(p.onreadystatechange=null,i())})}function i(){v||(v=!0,o())}function d(){try{p.documentElement.doScroll("left")}catch(a){return void setTimeout(d,50)}i()}}(window); \ No newline at end of file diff --git a/src/assets/iconfont/iconfont.json b/src/assets/iconfont/iconfont.json new file mode 100644 index 0000000..28a0da1 --- /dev/null +++ b/src/assets/iconfont/iconfont.json @@ -0,0 +1,401 @@ +{ + "id": "4573174", + "name": "duo'men'dian", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "7549358", + "name": "流量", + "font_class": "RectangleCopy49", + "unicode": "e6bd", + "unicode_decimal": 59069 + }, + { + "icon_id": "7551129", + "name": "供应商", + "font_class": "RectangleCopy50", + "unicode": "e6be", + "unicode_decimal": 59070 + }, + { + "icon_id": "7551130", + "name": "分销商", + "font_class": "RectangleCopy51", + "unicode": "e6bf", + "unicode_decimal": 59071 + }, + { + "icon_id": "7551132", + "name": "人群", + "font_class": "RectangleCopy53", + "unicode": "e6c1", + "unicode_decimal": 59073 + }, + { + "icon_id": "7551133", + "name": "人群管理", + "font_class": "RectangleCopy54", + "unicode": "e6c4", + "unicode_decimal": 59076 + }, + { + "icon_id": "7553624", + "name": "分销商结算", + "font_class": "RectangleCopy59", + "unicode": "e6dd", + "unicode_decimal": 59101 + }, + { + "icon_id": "7553627", + "name": "商家数据", + "font_class": "RectangleCopy60", + "unicode": "e6de", + "unicode_decimal": 59102 + }, + { + "icon_id": "7549348", + "name": "搜索", + "font_class": "RectangleCopy37", + "unicode": "e6a6", + "unicode_decimal": 59046 + }, + { + "icon_id": "7549364", + "name": "协同", + "font_class": "RectangleCopy38", + "unicode": "e6a7", + "unicode_decimal": 59047 + }, + { + "icon_id": "7549373", + "name": "招商", + "font_class": "RectangleCopy39", + "unicode": "e6a8", + "unicode_decimal": 59048 + }, + { + "icon_id": "7549816", + "name": "商品", + "font_class": "RectangleCopy40", + "unicode": "e6a9", + "unicode_decimal": 59049 + }, + { + "icon_id": "7549817", + "name": "单据", + "font_class": "RectangleCopy41", + "unicode": "e6aa", + "unicode_decimal": 59050 + }, + { + "icon_id": "7549828", + "name": "工具箱", + "font_class": "RectangleCopy42", + "unicode": "e6ab", + "unicode_decimal": 59051 + }, + { + "icon_id": "7549832", + "name": "券", + "font_class": "RectangleCopy43", + "unicode": "e6ac", + "unicode_decimal": 59052 + }, + { + "icon_id": "7549842", + "name": "平台", + "font_class": "RectangleCopy44", + "unicode": "e6ad", + "unicode_decimal": 59053 + }, + { + "icon_id": "7549845", + "name": "经销", + "font_class": "RectangleCopy45", + "unicode": "e6ae", + "unicode_decimal": 59054 + }, + { + "icon_id": "7549851", + "name": "资源", + "font_class": "RectangleCopy46", + "unicode": "e6af", + "unicode_decimal": 59055 + }, + { + "icon_id": "7550034", + "name": "货", + "font_class": "RectangleCopy47", + "unicode": "e6bb", + "unicode_decimal": 59067 + }, + { + "icon_id": "7549350", + "name": "用户", + "font_class": "RectangleCopy", + "unicode": "e6a3", + "unicode_decimal": 59043 + }, + { + "icon_id": "7549351", + "name": "安全", + "font_class": "RectangleCopy1", + "unicode": "e6a2", + "unicode_decimal": 59042 + }, + { + "icon_id": "7549352", + "name": "数据", + "font_class": "RectangleCopy2", + "unicode": "e6a4", + "unicode_decimal": 59044 + }, + { + "icon_id": "7549353", + "name": "疑问", + "font_class": "RectangleCopy3", + "unicode": "e6a1", + "unicode_decimal": 59041 + }, + { + "icon_id": "7549355", + "name": "调拨", + "font_class": "RectangleCopy4", + "unicode": "e6a5", + "unicode_decimal": 59045 + }, + { + "icon_id": "7551131", + "name": "用户管理", + "font_class": "RectangleCopy5", + "unicode": "e6b0", + "unicode_decimal": 59056 + }, + { + "icon_id": "7551134", + "name": "商家管理", + "font_class": "RectangleCopy6", + "unicode": "e6b1", + "unicode_decimal": 59057 + }, + { + "icon_id": "7551135", + "name": "分销商管理", + "font_class": "RectangleCopy7", + "unicode": "e6b2", + "unicode_decimal": 59058 + }, + { + "icon_id": "7551136", + "name": "商家", + "font_class": "RectangleCopy8", + "unicode": "e6b3", + "unicode_decimal": 59059 + }, + { + "icon_id": "7551137", + "name": "供应商管理", + "font_class": "RectangleCopy9", + "unicode": "e6b4", + "unicode_decimal": 59060 + }, + { + "icon_id": "7551213", + "name": "商品管理", + "font_class": "RectangleCopy10", + "unicode": "e6b5", + "unicode_decimal": 59061 + }, + { + "icon_id": "7551217", + "name": "商品复制", + "font_class": "RectangleCopy11", + "unicode": "e6b6", + "unicode_decimal": 59062 + }, + { + "icon_id": "7551346", + "name": "采购单", + "font_class": "RectangleCopy12", + "unicode": "e6b7", + "unicode_decimal": 59063 + }, + { + "icon_id": "7551349", + "name": "采购价管理", + "font_class": "RectangleCopy13", + "unicode": "e6b8", + "unicode_decimal": 59064 + }, + { + "icon_id": "7551477", + "name": "定价", + "font_class": "RectangleCopy14", + "unicode": "e6b9", + "unicode_decimal": 59065 + }, + { + "icon_id": "7551486", + "name": "结算报表", + "font_class": "RectangleCopy15", + "unicode": "e6ba", + "unicode_decimal": 59066 + }, + { + "icon_id": "7552198", + "name": "入库", + "font_class": "RectangleCopy16", + "unicode": "e6c2", + "unicode_decimal": 59074 + }, + { + "icon_id": "7552199", + "name": "库存管理", + "font_class": "RectangleCopy17", + "unicode": "e6c3", + "unicode_decimal": 59075 + }, + { + "icon_id": "7552213", + "name": "出入库管理", + "font_class": "RectangleCopy18", + "unicode": "e6c6", + "unicode_decimal": 59078 + }, + { + "icon_id": "7552217", + "name": "退仓管理", + "font_class": "RectangleCopy19", + "unicode": "e6c8", + "unicode_decimal": 59080 + }, + { + "icon_id": "7552702", + "name": "合同", + "font_class": "RectangleCopy20", + "unicode": "e6d1", + "unicode_decimal": 59089 + }, + { + "icon_id": "7553176", + "name": "商品计划", + "font_class": "RectangleCopy21", + "unicode": "e6d8", + "unicode_decimal": 59096 + }, + { + "icon_id": "7553184", + "name": "销量计划", + "font_class": "RectangleCopy22", + "unicode": "e6da", + "unicode_decimal": 59098 + }, + { + "icon_id": "7553638", + "name": "销量实时看板", + "font_class": "RectangleCopy23", + "unicode": "e6e0", + "unicode_decimal": 59104 + }, + { + "icon_id": "7553639", + "name": "结算效率分析", + "font_class": "RectangleCopy24", + "unicode": "e6df", + "unicode_decimal": 59103 + }, + { + "icon_id": "7553644", + "name": "营销流量配置", + "font_class": "RectangleCopy25", + "unicode": "e6e2", + "unicode_decimal": 59106 + }, + { + "icon_id": "7553645", + "name": "运营工具", + "font_class": "RectangleCopy26", + "unicode": "e6e3", + "unicode_decimal": 59107 + }, + { + "icon_id": "7553649", + "name": "目标管理", + "font_class": "RectangleCopy27", + "unicode": "e6e4", + "unicode_decimal": 59108 + }, + { + "icon_id": "7553650", + "name": "目标制定", + "font_class": "RectangleCopy28", + "unicode": "e6e5", + "unicode_decimal": 59109 + }, + { + "icon_id": "7553651", + "name": "活动协同", + "font_class": "RectangleCopy29", + "unicode": "e6e6", + "unicode_decimal": 59110 + }, + { + "icon_id": "7553656", + "name": "目标监控", + "font_class": "RectangleCopy30", + "unicode": "e6e7", + "unicode_decimal": 59111 + }, + { + "icon_id": "7553662", + "name": "增值服务", + "font_class": "RectangleCopy31", + "unicode": "e6e8", + "unicode_decimal": 59112 + }, + { + "icon_id": "7553667", + "name": "全链路可售", + "font_class": "RectangleCopy32", + "unicode": "e6e9", + "unicode_decimal": 59113 + }, + { + "icon_id": "7553669", + "name": "超级服务", + "font_class": "RectangleCopy33", + "unicode": "e6ea", + "unicode_decimal": 59114 + }, + { + "icon_id": "7553918", + "name": "上门取货", + "font_class": "RectangleCopy34", + "unicode": "e6eb", + "unicode_decimal": 59115 + }, + { + "icon_id": "7562286", + "name": "定位", + "font_class": "dingwei", + "unicode": "e6ec", + "unicode_decimal": 59116 + }, + { + "icon_id": "7733536", + "name": "预约", + "font_class": "RectangleCopy35", + "unicode": "e6ed", + "unicode_decimal": 59117 + }, + { + "icon_id": "7733537", + "name": "物流", + "font_class": "RectangleCopy36", + "unicode": "e6ee", + "unicode_decimal": 59118 + } + ] +} diff --git a/src/assets/iconfont/iconfont.ttf b/src/assets/iconfont/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ea8c5aba578d45986ac3faca5c686c30d1236582 GIT binary patch literal 20212 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 literal 0 HcmV?d00001 diff --git a/src/assets/iconfont/iconfont.woff b/src/assets/iconfont/iconfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..012daa6fe4dc26d818f704a414c315ff0dbbb546 GIT binary patch literal 10764 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 a7E2@&$s@7mqx*jOdwOGawzr)E0002awnTye literal 0 HcmV?d00001 diff --git a/src/components/iconfont/index.vue b/src/components/iconfont/index.vue new file mode 100644 index 0000000..1047668 --- /dev/null +++ b/src/components/iconfont/index.vue @@ -0,0 +1,47 @@ + + + + \ No newline at end of file diff --git a/src/components/material/index.vue b/src/components/material/index.vue index da01eae..c561198 100644 --- a/src/components/material/index.vue +++ b/src/components/material/index.vue @@ -4,22 +4,11 @@
- +