浏览代码

批量出库

seimin 1 年之前
父节点
当前提交
c91ede5661

+ 2 - 0
angular.json

@@ -36,6 +36,7 @@
36 36
               "src/styles.less",
37 37
               "src/assets/iconfont/iconfont.css",
38 38
               "src/assets/iconfont1/iconfont.css",
39
+              "src/assets/newIcon/iconfont.css",
39 40
               "./node_modules/swiper/swiper-bundle.min.css"
40 41
             ],
41 42
             "scripts": [
@@ -108,6 +109,7 @@
108 109
               "src/styles.less",
109 110
               "src/assets/iconfont/iconfont.css",
110 111
               "src/assets/iconfont1/iconfont.css",
112
+              "src/assets/newIcon/iconfont.css",
111 113
               "./node_modules/swiper/swiper-bundle.min.css"
112 114
             ],
113 115
             "scripts": [

+ 12 - 0
src/app/services/main.service.ts

@@ -786,4 +786,16 @@ export class MainService {
786 786
       headers: this.headers,
787 787
     });
788 788
   }
789
+  // 医废-获取重量和袋数
790
+  getWeightAndCount(data): any {
791
+    return this.http.post(host.host + "/medicalWaste/getWeightAndCount", data, {
792
+      headers: this.headers,
793
+    });
794
+  }
795
+  // 医废-出库
796
+  medicalWasteComplete(data): any {
797
+    return this.http.post(host.host + "/medicalWaste/complete", data, {
798
+      headers: this.headers,
799
+    });
800
+  }
789 801
 }

+ 5 - 0
src/app/views/main/main-routing.module.ts

@@ -453,6 +453,11 @@ const routes: Routes = [
453 453
         path: "outgoingRecord",
454 454
         loadChildren: () => import("../medical-waste-outgoing-record/medical-waste-outgoing-record.module").then((m) => m.MedicalWasteOutgoingRecordModule),
455 455
       },
456
+      // 批量出库
457
+      {
458
+        path: "batchOutOfStorage",
459
+        loadChildren: () => import("../medical-waste-batch-out-of-storage/medical-waste-batch-out-of-storage.module").then((m) => m.MedicalWasteBatchOutOfStorageModule),
460
+      },
456 461
     ],
457 462
   },
458 463
 ];

+ 17 - 0
src/app/views/medical-waste-batch-out-of-storage/medical-waste-batch-out-of-storage-routing.module.ts

@@ -0,0 +1,17 @@
1
+import { NgModule } from '@angular/core';
2
+import { Routes, RouterModule } from '@angular/router';
3
+import { MedicalWasteBatchOutOfStorageComponent } from './medical-waste-batch-out-of-storage.component';
4
+
5
+
6
+const routes: Routes = [
7
+  {
8
+    path: "",
9
+    component: MedicalWasteBatchOutOfStorageComponent,
10
+  }
11
+];
12
+
13
+@NgModule({
14
+  imports: [RouterModule.forChild(routes)],
15
+  exports: [RouterModule]
16
+})
17
+export class MedicalWasteBatchOutOfStorageRoutingModule { }

+ 74 - 0
src/app/views/medical-waste-batch-out-of-storage/medical-waste-batch-out-of-storage.component.html

@@ -0,0 +1,74 @@
1
+<div class="batchOutOfStorage">
2
+  <overlay-scrollbars #osComponentRef1 class="main">
3
+    <div class="head"><span class="newicon newicon-liebiao"></span>批量出库</div>
4
+    <div class="list">
5
+      <div class="list_head">医废类型</div>
6
+      <div class="list_checkbox"><nz-checkbox-group [(ngModel)]="clinicalWasteTypeList" (ngModelChange)="changeClinicalWasteTypeListClick(clinicalWasteTypeList)"></nz-checkbox-group></div>
7
+      <div class="list_sum">
8
+        <div class="list_sum_item">总重量:{{totalWeight}}kg</div>
9
+        <div class="list_sum_item">总袋数:{{totalCount}}</div>
10
+        <div class="list_sum_item" *ngFor="let item of storageUnits">
11
+          总{{item}}数:
12
+          <nz-input-number *ngIf="item == '箱'" nz-input [nzMin]="0" [nzStep]="1" [nzPrecision]="0" nzSize="small" [(ngModel)]="submitData.totalBox"></nz-input-number>
13
+          <nz-input-number *ngIf="item == '桶'" nz-input [nzMin]="0" [nzStep]="1" [nzPrecision]="0" nzSize="small" [(ngModel)]="submitData.totalBucket"></nz-input-number>
14
+        </div>
15
+      </div>
16
+      <div class="list_company">
17
+        <div class="list_company_item">
18
+          <label class="name">凭证编号:</label>
19
+          <input class="select" nz-input placeholder="请输入凭证编号" [(ngModel)]="submitData.credentialsNumber" />
20
+        </div>
21
+      </div>
22
+    </div>
23
+
24
+    <div class="list">
25
+      <div class="list_head">运输信息</div>
26
+      <div class="list_company">
27
+        <div class="list_company_item">
28
+          <label class="name">运输单位:</label>
29
+          <nz-select class="select" [(ngModel)]="submitData.transportCompany" (ngModelChange)="changeTransportCompany($event)" nzPlaceHolder="请选择运输单位">
30
+            <nz-option *ngFor="let option of transCompanyList" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
31
+          </nz-select>
32
+          <div class="number">营运证件号:{{businessCode1}}</div>
33
+        </div>
34
+        <div class="list_company_item">
35
+          <label class="name">运输司机:</label>
36
+          <nz-select class="select" [(ngModel)]="submitData.driver" nzPlaceHolder="请选择运输司机" (ngModelChange)="changeDriver($event)">
37
+            <nz-option *ngFor="let option of laborerList" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
38
+          </nz-select>
39
+          <div class="number">联系电话:{{driverPhone}}</div>
40
+        </div>
41
+        <div class="list_company_item">
42
+          <label class="name">车牌号码:</label>
43
+          <nz-select class="select" [(ngModel)]="submitData.carNo" nzPlaceHolder="请选择车牌号码">
44
+            <nz-option *ngFor="let option of carNoList" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
45
+          </nz-select>
46
+        </div>
47
+      </div>
48
+    </div>
49
+
50
+    <div class="list">
51
+      <div class="list_head">接收信息</div>
52
+      <div class="list_company">
53
+        <div class="list_company_item">
54
+          <label class="name">接收单位:</label>
55
+          <nz-select class="select" [(ngModel)]="submitData.receptionCompany" (ngModelChange)="changeReceiveCompany($event)" nzPlaceHolder="请选择接收单位">
56
+            <nz-option *ngFor="let option of receiveCompanyList" [nzLabel]="option.name" [nzValue]="option.id"></nz-option>
57
+          </nz-select>
58
+          <div class="number">危险物经营许可证编号:{{businessCode2}}</div>
59
+        </div>
60
+        <div class="list_company_item">
61
+          <div class="number" style="margin-right: 32px;width: 285px;">联系人:{{contacts2}}</div>
62
+          <div class="number">联系电话:{{mphone2}}</div>
63
+        </div>
64
+      </div>
65
+    </div>
66
+  </overlay-scrollbars>
67
+  <div class="submit">
68
+    <button nz-button nzType="primary" class="save" (click)="submitForm()">确认</button>
69
+    <button nz-button nzType="default" class="refresh btn cancel" (click)="cancel()">取消</button>
70
+  </div>
71
+  <!-- 模态框 -->
72
+  <app-dialog-delete [delModal]="delModal" (hideDelModalEvent)="hideDelModal()" [btnLoading]="loading3"
73
+    (confirmDelEvent)="confirmDel()" content="您确认要出库吗?"></app-dialog-delete>
74
+</div>

+ 80 - 0
src/app/views/medical-waste-batch-out-of-storage/medical-waste-batch-out-of-storage.component.less

@@ -0,0 +1,80 @@
1
+@import "../../../../src/theme.less";
2
+.batchOutOfStorage{
3
+  padding: 8px;
4
+  height: calc(100vh - 88px);
5
+  display: flex;
6
+  flex-direction: column;
7
+  justify-content: space-between;
8
+  .main{
9
+    height: calc(100vh - 161px);
10
+  }
11
+  .submit {
12
+    margin: 0 8px;
13
+    border-top: 1px solid #e5e9ed;
14
+    display: flex;
15
+    justify-content: center;
16
+    align-items: center;
17
+    height: 73px;
18
+    min-height: 73px;
19
+    .save {
20
+      height: 34px;
21
+    }
22
+    .refresh{
23
+      margin-left: 8px;
24
+      height: 34px;
25
+    }
26
+  }
27
+  .head{
28
+    height: 48px;
29
+    font-size: 18px;
30
+    font-weight: bold;
31
+    background-color: #F9FAFB;
32
+    display: flex;
33
+    align-items: center;
34
+    border: 1px solid #E8EBEF;
35
+    .newicon-liebiao{
36
+      margin-left: 22px;
37
+      margin-right: 13px;
38
+      color: @primary-color;
39
+    }
40
+  }
41
+
42
+  .list{
43
+    padding: 16px;
44
+    border-bottom: 1px solid #E8EBEF;
45
+    .list_head{
46
+      padding: 0 10px;
47
+      border-left: 5px solid @primary-color;
48
+      font-size: 16px;
49
+    }
50
+    .list_checkbox{
51
+      padding: 16px;
52
+    }
53
+    .list_sum{
54
+      display: flex;
55
+      padding: 0 16px;
56
+      .list_sum_item{
57
+        margin-right: 32px;
58
+        &:last-of-type{
59
+          margin-right: 0;
60
+        }
61
+      }
62
+    }
63
+
64
+    .list_company{
65
+      padding: 16px;
66
+      .list_company_item{
67
+        display: flex;
68
+        align-items: center;
69
+        margin-bottom: 25px;
70
+        &:last-of-type{
71
+          margin-bottom: 0;
72
+        }
73
+        .select{
74
+          width: 215px;
75
+          margin-right: 32px;
76
+        }
77
+      }
78
+    }
79
+  }
80
+}

+ 246 - 0
src/app/views/medical-waste-batch-out-of-storage/medical-waste-batch-out-of-storage.component.ts

@@ -0,0 +1,246 @@
1
+import { Component, OnInit, ViewChild } from "@angular/core";
2
+import { MainService } from "src/app/services/main.service";
3
+import { ToolService } from "src/app/services/tool.service";
4
+import { Router } from '@angular/router';
5
+import { OverlayScrollbarsComponent } from 'overlayscrollbars-ngx';
6
+import { NzMessageService } from 'ng-zorro-antd';
7
+import { Subject } from 'rxjs';
8
+import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
9
+
10
+@Component({
11
+  selector: "app-medical-waste-batch-out-of-storage",
12
+  templateUrl: "./medical-waste-batch-out-of-storage.component.html",
13
+  styleUrls: ["./medical-waste-batch-out-of-storage.component.less"],
14
+})
15
+export class MedicalWasteBatchOutOfStorageComponent implements OnInit {
16
+  @ViewChild("osComponentRef1", {
17
+    read: OverlayScrollbarsComponent,
18
+    static: false,
19
+  })
20
+  osComponentRef1: OverlayScrollbarsComponent;
21
+  constructor(
22
+    private mainService: MainService,
23
+    private tool: ToolService,
24
+    private message: NzMessageService,
25
+    private router: Router,
26
+  ) {}
27
+
28
+  hosId;
29
+  submitData:any = {
30
+    totalBox: 0,
31
+    totalBucket: 0,
32
+    transportCompany: null,
33
+    receptionCompany: null,
34
+    driver: null,
35
+    carNo: null,
36
+    credentialsNumber: '',
37
+  }
38
+
39
+  clinicalWasteTypeSubject = new Subject<string>();
40
+
41
+  ngOnInit() {
42
+    this.clinicalWasteTypeSubject
43
+      .pipe(debounceTime(300),distinctUntilChanged())
44
+      .subscribe(clinicalWasteTypeIds => {
45
+				this.changeClinicalWasteTypeList(clinicalWasteTypeIds);
46
+      });
47
+    this.hosId = this.tool.getCurrentHospital().id;
48
+    this.getClinicalWasteTypeList();
49
+    this.getCompanyTransType();
50
+  }
51
+
52
+  //删除
53
+  loading3 = false;
54
+  delModal: boolean = false; //删除模态框
55
+  showDelModal() {
56
+    this.delModal = true;
57
+  }
58
+  hideDelModal() {
59
+    this.delModal = false;
60
+  }
61
+  confirmDel() {
62
+    this.delModal = false;
63
+    let maskFlag = this.message.loading("正在加载中..", {
64
+      nzDuration: 0,
65
+    }).messageId;
66
+    let postData: any = {
67
+      clinicalWasteTypeIds: this.clinicalWasteTypeIds,
68
+      wasteOutInfo:{
69
+        credentialsNumber: this.submitData.credentialsNumber,
70
+        totalBox: this.submitData.totalBox,
71
+        totalBucket: this.submitData.totalBucket,
72
+        transportCompany: {id: this.submitData.transportCompany},
73
+        receptionCompany: {id: this.submitData.receptionCompany},
74
+        hosId: this.hosId,
75
+        driver: {id: this.submitData.driver},
76
+        carNo: this.carNoList.find(v => v.id == this.submitData.carNo).name,
77
+      }
78
+    };
79
+    this.mainService
80
+      .medicalWasteComplete(postData)
81
+      .subscribe((res) => {
82
+        this.message.remove(maskFlag);
83
+        if (res.status == 200) {
84
+          this.message.success("出库成功");
85
+          this.router.navigateByUrl("/main/outgoingRecord");
86
+        }
87
+      });
88
+  }
89
+
90
+  submitForm(){
91
+    if(!this.clinicalWasteTypeList.filter(v => v.checked).length){
92
+      this.message.error("请选择医废类型");
93
+      return;
94
+    }
95
+    if(!this.submitData.transportCompany){
96
+      this.message.error("请选择运输单位");
97
+      return;
98
+    }
99
+    if(!this.submitData.driver){
100
+      this.message.error("请选择运输司机");
101
+      return;
102
+    }
103
+    if(!this.submitData.carNo){
104
+      this.message.error("请选择车牌号码");
105
+      return;
106
+    }
107
+    if(!this.submitData.receptionCompany){
108
+      this.message.error("请选择接收单位");
109
+      return;
110
+    }
111
+    if(!this.totalCount){
112
+      this.message.error("选择的类型,无医废数据请确认后发起出库");
113
+      return;
114
+    }
115
+    this.showDelModal();
116
+
117
+  }
118
+
119
+  cancel(){
120
+    this.router.navigateByUrl("/main/outgoingRecord");
121
+  }
122
+
123
+  // 医废类型
124
+  clinicalWasteTypeList:any[] = [];
125
+  getClinicalWasteTypeList() {
126
+    let maskFlag = this.message.loading("正在加载中..", {
127
+      nzDuration: 0,
128
+    }).messageId;
129
+    let postData: any = {
130
+      idx: 0,
131
+      sum: 9999,
132
+      clinicalWasteType: {
133
+        hosId: this.hosId,
134
+      },
135
+    };
136
+    this.mainService
137
+      .getFetchDataList("simple/data", "clinicalWasteType", postData)
138
+      .subscribe((res) => {
139
+        this.message.remove(maskFlag);
140
+        if (res.status == 200) {
141
+          let clinicalWasteTypeList = res.list || [];
142
+          this.clinicalWasteTypeList = clinicalWasteTypeList.map(v => ({
143
+            label: v.typeName,
144
+            value: v.id,
145
+            checked: false,
146
+          }))
147
+        }
148
+      });
149
+  }
150
+  // 单位类型
151
+  getCompanyTransType(){
152
+    this.mainService.getDictionary("list", "company_trans_type")
153
+      .subscribe((result) => {
154
+        let company_trans_types = result || [];
155
+        let transCompany = company_trans_types.find(v => v.value == 1);//运输单位
156
+        let receiveCompany = company_trans_types.find(v => v.value == 2);//接收单位
157
+        transCompany && this.getCompany(transCompany);
158
+        receiveCompany && this.getCompany(receiveCompany);
159
+      });
160
+  }
161
+  // 运输单位/接收单位
162
+  transCompanyList:any[] = [];
163
+  receiveCompanyList:any[] = [];
164
+  laborerList:any[] = [];
165
+  carNoList:any[] = [];
166
+  getCompany(dictionary) {
167
+    let postData: any = {
168
+      idx: 0,
169
+      sum: 9999,
170
+      company: {
171
+        hosId: this.hosId,
172
+        transType: dictionary,
173
+      },
174
+    };
175
+    this.mainService
176
+      .getFetchDataList("simple/data", "company", postData)
177
+      .subscribe((result) => {
178
+        if (result.status == 200) {
179
+          if(dictionary.value == 1){
180
+            // 运输单位
181
+            this.transCompanyList = result.list || [];
182
+          } else if(dictionary.value == 2){
183
+            // 接收单位
184
+            this.receiveCompanyList = result.list || [];
185
+          }
186
+        }
187
+      });
188
+  }
189
+
190
+  businessCode1 = '';
191
+  changeTransportCompany(id){
192
+    let transCompany = this.transCompanyList.find(v => v.id == id);
193
+    this.laborerList = transCompany.laborers || [];
194
+    this.submitData.driver = null;
195
+    this.carNoList = transCompany.carNo ? transCompany.carNo.split(',').map((v, index) => ({id: index + 1, name: v})) : [];
196
+    this.submitData.carNo = null;
197
+    this.businessCode1 = transCompany.businessCode;
198
+  }
199
+
200
+  driverPhone = '';
201
+  changeDriver(id){
202
+    let driver = this.laborerList.find(v => v.id == id);
203
+    this.driverPhone = driver.mphone;
204
+  }
205
+
206
+  businessCode2 = '';
207
+  mphone2 = '';
208
+  contacts2 = '';
209
+  changeReceiveCompany(id){
210
+    let receiveCompany = this.receiveCompanyList.find(v => v.id == id);
211
+    this.businessCode2 = receiveCompany.businessCode;
212
+    this.mphone2 = receiveCompany.mphone;
213
+    this.contacts2 = receiveCompany.contacts;
214
+  }
215
+
216
+  clinicalWasteTypeIds = '';
217
+  changeClinicalWasteTypeListClick(clinicalWasteTypeList) {
218
+    this.clinicalWasteTypeIds = clinicalWasteTypeList.filter(v => v.checked).map(v => v.value).toString();
219
+    this.clinicalWasteTypeSubject.next(this.clinicalWasteTypeIds);
220
+  }
221
+
222
+  // 选择医废类型
223
+  storageUnits:any[] = [];
224
+  totalCount = 0;
225
+  totalWeight = 0;
226
+  changeClinicalWasteTypeList(clinicalWasteTypeIds){
227
+    let maskFlag = this.message.loading("正在加载中..", {
228
+      nzDuration: 0,
229
+    }).messageId;
230
+    let postData: any = {
231
+      clinicalWasteTypeIds,
232
+      hosId: this.hosId,
233
+    };
234
+    this.mainService
235
+      .getWeightAndCount(postData)
236
+      .subscribe((res) => {
237
+        this.message.remove(maskFlag);
238
+        if (res.status == 200) {
239
+          this.storageUnits = res.storageUnits || [];
240
+          this.totalCount = res.totalCount;
241
+          this.totalWeight = res.totalWeight;
242
+        }
243
+      });
244
+  }
245
+}
246
+

+ 17 - 0
src/app/views/medical-waste-batch-out-of-storage/medical-waste-batch-out-of-storage.module.ts

@@ -0,0 +1,17 @@
1
+import { NgModule } from '@angular/core';
2
+import { CommonModule } from '@angular/common';
3
+
4
+import { ShareModule } from 'src/app/share/share.module';
5
+import { MedicalWasteBatchOutOfStorageComponent } from './medical-waste-batch-out-of-storage.component';
6
+import { MedicalWasteBatchOutOfStorageRoutingModule } from './medical-waste-batch-out-of-storage-routing.module';
7
+
8
+
9
+@NgModule({
10
+  declarations: [MedicalWasteBatchOutOfStorageComponent],
11
+  imports: [
12
+    CommonModule,
13
+    MedicalWasteBatchOutOfStorageRoutingModule,
14
+    ShareModule,
15
+  ]
16
+})
17
+export class MedicalWasteBatchOutOfStorageModule { }

+ 2 - 1
src/app/views/medical-waste-outgoing-record/medical-waste-outgoing-record.component.html

@@ -20,7 +20,8 @@
20 20
         </div>
21 21
       </div>
22 22
       <div nz-col nzXl="8" class="list-template__btns">
23
-        <button nz-button class="btn default" (click)='reset()'>重置</button>
23
+        <button nz-button class="btn default" (click)='batchOutOfOtorageClick()'>批量出库</button>
24
+        <button nz-button class="btn default ml8" (click)='reset()'>重置</button>
24 25
         <button nz-button class="btn default ml8" (click)='getList(1)'>搜索</button>
25 26
       </div>
26 27
     </div>

+ 4 - 0
src/app/views/medical-waste-outgoing-record/medical-waste-outgoing-record.component.ts

@@ -45,6 +45,10 @@ export class MedicalWasteOutgoingRecordComponent implements OnInit {
45 45
     this.getHospital();
46 46
   }
47 47
 
48
+  batchOutOfOtorageClick(){
49
+    this.router.navigateByUrl("/main/batchOutOfStorage");
50
+  }
51
+
48 52
   // 查看
49 53
   detail(e, id) {
50 54
     e.stopPropagation();

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

@@ -0,0 +1,539 @@
1
+/* Logo 字体 */
2
+@font-face {
3
+  font-family: "iconfont logo";
4
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
5
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
6
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
7
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
8
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
9
+}
10
+
11
+.logo {
12
+  font-family: "iconfont logo";
13
+  font-size: 160px;
14
+  font-style: normal;
15
+  -webkit-font-smoothing: antialiased;
16
+  -moz-osx-font-smoothing: grayscale;
17
+}
18
+
19
+/* tabs */
20
+.nav-tabs {
21
+  position: relative;
22
+}
23
+
24
+.nav-tabs .nav-more {
25
+  position: absolute;
26
+  right: 0;
27
+  bottom: 0;
28
+  height: 42px;
29
+  line-height: 42px;
30
+  color: #666;
31
+}
32
+
33
+#tabs {
34
+  border-bottom: 1px solid #eee;
35
+}
36
+
37
+#tabs li {
38
+  cursor: pointer;
39
+  width: 100px;
40
+  height: 40px;
41
+  line-height: 40px;
42
+  text-align: center;
43
+  font-size: 16px;
44
+  border-bottom: 2px solid transparent;
45
+  position: relative;
46
+  z-index: 1;
47
+  margin-bottom: -1px;
48
+  color: #666;
49
+}
50
+
51
+
52
+#tabs .active {
53
+  border-bottom-color: #f00;
54
+  color: #222;
55
+}
56
+
57
+.tab-container .content {
58
+  display: none;
59
+}
60
+
61
+/* 页面布局 */
62
+.main {
63
+  padding: 30px 100px;
64
+  width: 960px;
65
+  margin: 0 auto;
66
+}
67
+
68
+.main .logo {
69
+  color: #333;
70
+  text-align: left;
71
+  margin-bottom: 30px;
72
+  line-height: 1;
73
+  height: 110px;
74
+  margin-top: -50px;
75
+  overflow: hidden;
76
+  *zoom: 1;
77
+}
78
+
79
+.main .logo a {
80
+  font-size: 160px;
81
+  color: #333;
82
+}
83
+
84
+.helps {
85
+  margin-top: 40px;
86
+}
87
+
88
+.helps pre {
89
+  padding: 20px;
90
+  margin: 10px 0;
91
+  border: solid 1px #e7e1cd;
92
+  background-color: #fffdef;
93
+  overflow: auto;
94
+}
95
+
96
+.icon_lists {
97
+  width: 100% !important;
98
+  overflow: hidden;
99
+  *zoom: 1;
100
+}
101
+
102
+.icon_lists li {
103
+  width: 100px;
104
+  margin-bottom: 10px;
105
+  margin-right: 20px;
106
+  text-align: center;
107
+  list-style: none !important;
108
+  cursor: default;
109
+}
110
+
111
+.icon_lists li .code-name {
112
+  line-height: 1.2;
113
+}
114
+
115
+.icon_lists .icon {
116
+  display: block;
117
+  height: 100px;
118
+  line-height: 100px;
119
+  font-size: 42px;
120
+  margin: 10px auto;
121
+  color: #333;
122
+  -webkit-transition: font-size 0.25s linear, width 0.25s linear;
123
+  -moz-transition: font-size 0.25s linear, width 0.25s linear;
124
+  transition: font-size 0.25s linear, width 0.25s linear;
125
+}
126
+
127
+.icon_lists .icon:hover {
128
+  font-size: 100px;
129
+}
130
+
131
+.icon_lists .svg-icon {
132
+  /* 通过设置 font-size 来改变图标大小 */
133
+  width: 1em;
134
+  /* 图标和文字相邻时,垂直对齐 */
135
+  vertical-align: -0.15em;
136
+  /* 通过设置 color 来改变 SVG 的颜色/fill */
137
+  fill: currentColor;
138
+  /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
139
+      normalize.css 中也包含这行 */
140
+  overflow: hidden;
141
+}
142
+
143
+.icon_lists li .name,
144
+.icon_lists li .code-name {
145
+  color: #666;
146
+}
147
+
148
+/* markdown 样式 */
149
+.markdown {
150
+  color: #666;
151
+  font-size: 14px;
152
+  line-height: 1.8;
153
+}
154
+
155
+.highlight {
156
+  line-height: 1.5;
157
+}
158
+
159
+.markdown img {
160
+  vertical-align: middle;
161
+  max-width: 100%;
162
+}
163
+
164
+.markdown h1 {
165
+  color: #404040;
166
+  font-weight: 500;
167
+  line-height: 40px;
168
+  margin-bottom: 24px;
169
+}
170
+
171
+.markdown h2,
172
+.markdown h3,
173
+.markdown h4,
174
+.markdown h5,
175
+.markdown h6 {
176
+  color: #404040;
177
+  margin: 1.6em 0 0.6em 0;
178
+  font-weight: 500;
179
+  clear: both;
180
+}
181
+
182
+.markdown h1 {
183
+  font-size: 28px;
184
+}
185
+
186
+.markdown h2 {
187
+  font-size: 22px;
188
+}
189
+
190
+.markdown h3 {
191
+  font-size: 16px;
192
+}
193
+
194
+.markdown h4 {
195
+  font-size: 14px;
196
+}
197
+
198
+.markdown h5 {
199
+  font-size: 12px;
200
+}
201
+
202
+.markdown h6 {
203
+  font-size: 12px;
204
+}
205
+
206
+.markdown hr {
207
+  height: 1px;
208
+  border: 0;
209
+  background: #e9e9e9;
210
+  margin: 16px 0;
211
+  clear: both;
212
+}
213
+
214
+.markdown p {
215
+  margin: 1em 0;
216
+}
217
+
218
+.markdown>p,
219
+.markdown>blockquote,
220
+.markdown>.highlight,
221
+.markdown>ol,
222
+.markdown>ul {
223
+  width: 80%;
224
+}
225
+
226
+.markdown ul>li {
227
+  list-style: circle;
228
+}
229
+
230
+.markdown>ul li,
231
+.markdown blockquote ul>li {
232
+  margin-left: 20px;
233
+  padding-left: 4px;
234
+}
235
+
236
+.markdown>ul li p,
237
+.markdown>ol li p {
238
+  margin: 0.6em 0;
239
+}
240
+
241
+.markdown ol>li {
242
+  list-style: decimal;
243
+}
244
+
245
+.markdown>ol li,
246
+.markdown blockquote ol>li {
247
+  margin-left: 20px;
248
+  padding-left: 4px;
249
+}
250
+
251
+.markdown code {
252
+  margin: 0 3px;
253
+  padding: 0 5px;
254
+  background: #eee;
255
+  border-radius: 3px;
256
+}
257
+
258
+.markdown strong,
259
+.markdown b {
260
+  font-weight: 600;
261
+}
262
+
263
+.markdown>table {
264
+  border-collapse: collapse;
265
+  border-spacing: 0px;
266
+  empty-cells: show;
267
+  border: 1px solid #e9e9e9;
268
+  width: 95%;
269
+  margin-bottom: 24px;
270
+}
271
+
272
+.markdown>table th {
273
+  white-space: nowrap;
274
+  color: #333;
275
+  font-weight: 600;
276
+}
277
+
278
+.markdown>table th,
279
+.markdown>table td {
280
+  border: 1px solid #e9e9e9;
281
+  padding: 8px 16px;
282
+  text-align: left;
283
+}
284
+
285
+.markdown>table th {
286
+  background: #F7F7F7;
287
+}
288
+
289
+.markdown blockquote {
290
+  font-size: 90%;
291
+  color: #999;
292
+  border-left: 4px solid #e9e9e9;
293
+  padding-left: 0.8em;
294
+  margin: 1em 0;
295
+}
296
+
297
+.markdown blockquote p {
298
+  margin: 0;
299
+}
300
+
301
+.markdown .anchor {
302
+  opacity: 0;
303
+  transition: opacity 0.3s ease;
304
+  margin-left: 8px;
305
+}
306
+
307
+.markdown .waiting {
308
+  color: #ccc;
309
+}
310
+
311
+.markdown h1:hover .anchor,
312
+.markdown h2:hover .anchor,
313
+.markdown h3:hover .anchor,
314
+.markdown h4:hover .anchor,
315
+.markdown h5:hover .anchor,
316
+.markdown h6:hover .anchor {
317
+  opacity: 1;
318
+  display: inline-block;
319
+}
320
+
321
+.markdown>br,
322
+.markdown>p>br {
323
+  clear: both;
324
+}
325
+
326
+
327
+.hljs {
328
+  display: block;
329
+  background: white;
330
+  padding: 0.5em;
331
+  color: #333333;
332
+  overflow-x: auto;
333
+}
334
+
335
+.hljs-comment,
336
+.hljs-meta {
337
+  color: #969896;
338
+}
339
+
340
+.hljs-string,
341
+.hljs-variable,
342
+.hljs-template-variable,
343
+.hljs-strong,
344
+.hljs-emphasis,
345
+.hljs-quote {
346
+  color: #df5000;
347
+}
348
+
349
+.hljs-keyword,
350
+.hljs-selector-tag,
351
+.hljs-type {
352
+  color: #a71d5d;
353
+}
354
+
355
+.hljs-literal,
356
+.hljs-symbol,
357
+.hljs-bullet,
358
+.hljs-attribute {
359
+  color: #0086b3;
360
+}
361
+
362
+.hljs-section,
363
+.hljs-name {
364
+  color: #63a35c;
365
+}
366
+
367
+.hljs-tag {
368
+  color: #333333;
369
+}
370
+
371
+.hljs-title,
372
+.hljs-attr,
373
+.hljs-selector-id,
374
+.hljs-selector-class,
375
+.hljs-selector-attr,
376
+.hljs-selector-pseudo {
377
+  color: #795da3;
378
+}
379
+
380
+.hljs-addition {
381
+  color: #55a532;
382
+  background-color: #eaffea;
383
+}
384
+
385
+.hljs-deletion {
386
+  color: #bd2c00;
387
+  background-color: #ffecec;
388
+}
389
+
390
+.hljs-link {
391
+  text-decoration: underline;
392
+}
393
+
394
+/* 代码高亮 */
395
+/* PrismJS 1.15.0
396
+https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
397
+/**
398
+ * prism.js default theme for JavaScript, CSS and HTML
399
+ * Based on dabblet (http://dabblet.com)
400
+ * @author Lea Verou
401
+ */
402
+code[class*="language-"],
403
+pre[class*="language-"] {
404
+  color: black;
405
+  background: none;
406
+  text-shadow: 0 1px white;
407
+  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
408
+  text-align: left;
409
+  white-space: pre;
410
+  word-spacing: normal;
411
+  word-break: normal;
412
+  word-wrap: normal;
413
+  line-height: 1.5;
414
+
415
+  -moz-tab-size: 4;
416
+  -o-tab-size: 4;
417
+  tab-size: 4;
418
+
419
+  -webkit-hyphens: none;
420
+  -moz-hyphens: none;
421
+  -ms-hyphens: none;
422
+  hyphens: none;
423
+}
424
+
425
+pre[class*="language-"]::-moz-selection,
426
+pre[class*="language-"] ::-moz-selection,
427
+code[class*="language-"]::-moz-selection,
428
+code[class*="language-"] ::-moz-selection {
429
+  text-shadow: none;
430
+  background: #b3d4fc;
431
+}
432
+
433
+pre[class*="language-"]::selection,
434
+pre[class*="language-"] ::selection,
435
+code[class*="language-"]::selection,
436
+code[class*="language-"] ::selection {
437
+  text-shadow: none;
438
+  background: #b3d4fc;
439
+}
440
+
441
+@media print {
442
+
443
+  code[class*="language-"],
444
+  pre[class*="language-"] {
445
+    text-shadow: none;
446
+  }
447
+}
448
+
449
+/* Code blocks */
450
+pre[class*="language-"] {
451
+  padding: 1em;
452
+  margin: .5em 0;
453
+  overflow: auto;
454
+}
455
+
456
+:not(pre)>code[class*="language-"],
457
+pre[class*="language-"] {
458
+  background: #f5f2f0;
459
+}
460
+
461
+/* Inline code */
462
+:not(pre)>code[class*="language-"] {
463
+  padding: .1em;
464
+  border-radius: .3em;
465
+  white-space: normal;
466
+}
467
+
468
+.token.comment,
469
+.token.prolog,
470
+.token.doctype,
471
+.token.cdata {
472
+  color: slategray;
473
+}
474
+
475
+.token.punctuation {
476
+  color: #999;
477
+}
478
+
479
+.namespace {
480
+  opacity: .7;
481
+}
482
+
483
+.token.property,
484
+.token.tag,
485
+.token.boolean,
486
+.token.number,
487
+.token.constant,
488
+.token.symbol,
489
+.token.deleted {
490
+  color: #905;
491
+}
492
+
493
+.token.selector,
494
+.token.attr-name,
495
+.token.string,
496
+.token.char,
497
+.token.builtin,
498
+.token.inserted {
499
+  color: #690;
500
+}
501
+
502
+.token.operator,
503
+.token.entity,
504
+.token.url,
505
+.language-css .token.string,
506
+.style .token.string {
507
+  color: #9a6e3a;
508
+  background: hsla(0, 0%, 100%, .5);
509
+}
510
+
511
+.token.atrule,
512
+.token.attr-value,
513
+.token.keyword {
514
+  color: #07a;
515
+}
516
+
517
+.token.function,
518
+.token.class-name {
519
+  color: #DD4A68;
520
+}
521
+
522
+.token.regex,
523
+.token.important,
524
+.token.variable {
525
+  color: #e90;
526
+}
527
+
528
+.token.important,
529
+.token.bold {
530
+  font-weight: bold;
531
+}
532
+
533
+.token.italic {
534
+  font-style: italic;
535
+}
536
+
537
+.token.entity {
538
+  cursor: help;
539
+}

+ 349 - 0
src/assets/newIcon/demo_index.html

@@ -0,0 +1,349 @@
1
+<!DOCTYPE html>
2
+<html>
3
+<head>
4
+  <meta charset="utf-8"/>
5
+  <title>iconfont Demo</title>
6
+  <link rel="shortcut icon" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg" type="image/x-icon"/>
7
+  <link rel="icon" type="image/svg+xml" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg"/>
8
+  <link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
9
+  <link rel="stylesheet" href="demo.css">
10
+  <link rel="stylesheet" href="iconfont.css">
11
+  <script src="iconfont.js"></script>
12
+  <!-- jQuery -->
13
+  <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
14
+  <!-- 代码高亮 -->
15
+  <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
16
+  <style>
17
+    .main .logo {
18
+      margin-top: 0;
19
+      height: auto;
20
+    }
21
+
22
+    .main .logo a {
23
+      display: flex;
24
+      align-items: center;
25
+    }
26
+
27
+    .main .logo .sub-title {
28
+      margin-left: 0.5em;
29
+      font-size: 22px;
30
+      color: #fff;
31
+      background: linear-gradient(-45deg, #3967FF, #B500FE);
32
+      -webkit-background-clip: text;
33
+      -webkit-text-fill-color: transparent;
34
+    }
35
+  </style>
36
+</head>
37
+<body>
38
+  <div class="main">
39
+    <h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">
40
+      <img width="200" src="https://img.alicdn.com/imgextra/i3/O1CN01Mn65HV1FfSEzR6DKv_!!6000000000514-55-tps-228-59.svg">
41
+      
42
+    </a></h1>
43
+    <div class="nav-tabs">
44
+      <ul id="tabs" class="dib-box">
45
+        <li class="dib active"><span>Unicode</span></li>
46
+        <li class="dib"><span>Font class</span></li>
47
+        <li class="dib"><span>Symbol</span></li>
48
+      </ul>
49
+      
50
+      <a href="https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=4304849" target="_blank" class="nav-more">查看项目</a>
51
+      
52
+    </div>
53
+    <div class="tab-container">
54
+      <div class="content unicode" style="display: block;">
55
+          <ul class="icon_lists dib-box">
56
+          
57
+            <li class="dib">
58
+              <span class="icon newicon">&#xe61a;</span>
59
+                <div class="name">列表</div>
60
+                <div class="code-name">&amp;#xe61a;</div>
61
+              </li>
62
+          
63
+            <li class="dib">
64
+              <span class="icon newicon">&#xe635;</span>
65
+                <div class="name">icon_zhengzaijinx</div>
66
+                <div class="code-name">&amp;#xe635;</div>
67
+              </li>
68
+          
69
+            <li class="dib">
70
+              <span class="icon newicon">&#xe662;</span>
71
+                <div class="name">xiala02</div>
72
+                <div class="code-name">&amp;#xe662;</div>
73
+              </li>
74
+          
75
+            <li class="dib">
76
+              <span class="icon newicon">&#xe660;</span>
77
+                <div class="name">扫一扫</div>
78
+                <div class="code-name">&amp;#xe660;</div>
79
+              </li>
80
+          
81
+            <li class="dib">
82
+              <span class="icon newicon">&#xe60a;</span>
83
+                <div class="name">医废管理</div>
84
+                <div class="code-name">&amp;#xe60a;</div>
85
+              </li>
86
+          
87
+            <li class="dib">
88
+              <span class="icon newicon">&#xe604;</span>
89
+                <div class="name">头像</div>
90
+                <div class="code-name">&amp;#xe604;</div>
91
+              </li>
92
+          
93
+            <li class="dib">
94
+              <span class="icon newicon">&#xe601;</span>
95
+                <div class="name">箭头上</div>
96
+                <div class="code-name">&amp;#xe601;</div>
97
+              </li>
98
+          
99
+          </ul>
100
+          <div class="article markdown">
101
+          <h2 id="unicode-">Unicode 引用</h2>
102
+          <hr>
103
+
104
+          <p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
105
+          <ul>
106
+            <li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
107
+            <li>默认情况下不支持多色,直接添加多色图标会自动去色。</li>
108
+          </ul>
109
+          <blockquote>
110
+            <p>注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)</p>
111
+          </blockquote>
112
+          <p>Unicode 使用步骤如下:</p>
113
+          <h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
114
+<pre><code class="language-css"
115
+>@font-face {
116
+  font-family: 'newicon';
117
+  src: url('iconfont.woff2?t=1709719097594') format('woff2'),
118
+       url('iconfont.woff?t=1709719097594') format('woff'),
119
+       url('iconfont.ttf?t=1709719097594') format('truetype');
120
+}
121
+</code></pre>
122
+          <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
123
+<pre><code class="language-css"
124
+>.newicon {
125
+  font-family: "newicon" !important;
126
+  font-size: 16px;
127
+  font-style: normal;
128
+  -webkit-font-smoothing: antialiased;
129
+  -moz-osx-font-smoothing: grayscale;
130
+}
131
+</code></pre>
132
+          <h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
133
+<pre>
134
+<code class="language-html"
135
+>&lt;span class="newicon"&gt;&amp;#x33;&lt;/span&gt;
136
+</code></pre>
137
+          <blockquote>
138
+            <p>"newicon" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
139
+          </blockquote>
140
+          </div>
141
+      </div>
142
+      <div class="content font-class">
143
+        <ul class="icon_lists dib-box">
144
+          
145
+          <li class="dib">
146
+            <span class="icon newicon newicon-liebiao"></span>
147
+            <div class="name">
148
+              列表
149
+            </div>
150
+            <div class="code-name">.newicon-liebiao
151
+            </div>
152
+          </li>
153
+          
154
+          <li class="dib">
155
+            <span class="icon newicon newicon-icon_zhengzaijinx"></span>
156
+            <div class="name">
157
+              icon_zhengzaijinx
158
+            </div>
159
+            <div class="code-name">.newicon-icon_zhengzaijinx
160
+            </div>
161
+          </li>
162
+          
163
+          <li class="dib">
164
+            <span class="icon newicon newicon-xiala1"></span>
165
+            <div class="name">
166
+              xiala02
167
+            </div>
168
+            <div class="code-name">.newicon-xiala1
169
+            </div>
170
+          </li>
171
+          
172
+          <li class="dib">
173
+            <span class="icon newicon newicon-saoma"></span>
174
+            <div class="name">
175
+              扫一扫
176
+            </div>
177
+            <div class="code-name">.newicon-saoma
178
+            </div>
179
+          </li>
180
+          
181
+          <li class="dib">
182
+            <span class="icon newicon newicon-yifeiguanli"></span>
183
+            <div class="name">
184
+              医废管理
185
+            </div>
186
+            <div class="code-name">.newicon-yifeiguanli
187
+            </div>
188
+          </li>
189
+          
190
+          <li class="dib">
191
+            <span class="icon newicon newicon-a-ziyuan7"></span>
192
+            <div class="name">
193
+              头像
194
+            </div>
195
+            <div class="code-name">.newicon-a-ziyuan7
196
+            </div>
197
+          </li>
198
+          
199
+          <li class="dib">
200
+            <span class="icon newicon newicon-a-ziyuan3"></span>
201
+            <div class="name">
202
+              箭头上
203
+            </div>
204
+            <div class="code-name">.newicon-a-ziyuan3
205
+            </div>
206
+          </li>
207
+          
208
+        </ul>
209
+        <div class="article markdown">
210
+        <h2 id="font-class-">font-class 引用</h2>
211
+        <hr>
212
+
213
+        <p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p>
214
+        <p>与 Unicode 使用方式相比,具有如下特点:</p>
215
+        <ul>
216
+          <li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
217
+          <li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
218
+        </ul>
219
+        <p>使用步骤如下:</p>
220
+        <h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
221
+<pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
222
+</code></pre>
223
+        <h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
224
+<pre><code class="language-html">&lt;span class="newicon newicon-xxx"&gt;&lt;/span&gt;
225
+</code></pre>
226
+        <blockquote>
227
+          <p>"
228
+            newicon" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
229
+        </blockquote>
230
+      </div>
231
+      </div>
232
+      <div class="content symbol">
233
+          <ul class="icon_lists dib-box">
234
+          
235
+            <li class="dib">
236
+                <svg class="icon svg-icon" aria-hidden="true">
237
+                  <use xlink:href="#newicon-liebiao"></use>
238
+                </svg>
239
+                <div class="name">列表</div>
240
+                <div class="code-name">#newicon-liebiao</div>
241
+            </li>
242
+          
243
+            <li class="dib">
244
+                <svg class="icon svg-icon" aria-hidden="true">
245
+                  <use xlink:href="#newicon-icon_zhengzaijinx"></use>
246
+                </svg>
247
+                <div class="name">icon_zhengzaijinx</div>
248
+                <div class="code-name">#newicon-icon_zhengzaijinx</div>
249
+            </li>
250
+          
251
+            <li class="dib">
252
+                <svg class="icon svg-icon" aria-hidden="true">
253
+                  <use xlink:href="#newicon-xiala1"></use>
254
+                </svg>
255
+                <div class="name">xiala02</div>
256
+                <div class="code-name">#newicon-xiala1</div>
257
+            </li>
258
+          
259
+            <li class="dib">
260
+                <svg class="icon svg-icon" aria-hidden="true">
261
+                  <use xlink:href="#newicon-saoma"></use>
262
+                </svg>
263
+                <div class="name">扫一扫</div>
264
+                <div class="code-name">#newicon-saoma</div>
265
+            </li>
266
+          
267
+            <li class="dib">
268
+                <svg class="icon svg-icon" aria-hidden="true">
269
+                  <use xlink:href="#newicon-yifeiguanli"></use>
270
+                </svg>
271
+                <div class="name">医废管理</div>
272
+                <div class="code-name">#newicon-yifeiguanli</div>
273
+            </li>
274
+          
275
+            <li class="dib">
276
+                <svg class="icon svg-icon" aria-hidden="true">
277
+                  <use xlink:href="#newicon-a-ziyuan7"></use>
278
+                </svg>
279
+                <div class="name">头像</div>
280
+                <div class="code-name">#newicon-a-ziyuan7</div>
281
+            </li>
282
+          
283
+            <li class="dib">
284
+                <svg class="icon svg-icon" aria-hidden="true">
285
+                  <use xlink:href="#newicon-a-ziyuan3"></use>
286
+                </svg>
287
+                <div class="name">箭头上</div>
288
+                <div class="code-name">#newicon-a-ziyuan3</div>
289
+            </li>
290
+          
291
+          </ul>
292
+          <div class="article markdown">
293
+          <h2 id="symbol-">Symbol 引用</h2>
294
+          <hr>
295
+
296
+          <p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
297
+            这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p>
298
+          <ul>
299
+            <li>支持多色图标了,不再受单色限制。</li>
300
+            <li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li>
301
+            <li>兼容性较差,支持 IE9+,及现代浏览器。</li>
302
+            <li>浏览器渲染 SVG 的性能一般,还不如 png。</li>
303
+          </ul>
304
+          <p>使用步骤如下:</p>
305
+          <h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
306
+<pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;
307
+</code></pre>
308
+          <h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
309
+<pre><code class="language-html">&lt;style&gt;
310
+.icon {
311
+  width: 1em;
312
+  height: 1em;
313
+  vertical-align: -0.15em;
314
+  fill: currentColor;
315
+  overflow: hidden;
316
+}
317
+&lt;/style&gt;
318
+</code></pre>
319
+          <h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
320
+<pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt;
321
+  &lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt;
322
+&lt;/svg&gt;
323
+</code></pre>
324
+          </div>
325
+      </div>
326
+
327
+    </div>
328
+  </div>
329
+  <script>
330
+  $(document).ready(function () {
331
+      $('.tab-container .content:first').show()
332
+
333
+      $('#tabs li').click(function (e) {
334
+        var tabContent = $('.tab-container .content')
335
+        var index = $(this).index()
336
+
337
+        if ($(this).hasClass('active')) {
338
+          return
339
+        } else {
340
+          $('#tabs li').removeClass('active')
341
+          $(this).addClass('active')
342
+
343
+          tabContent.hide().eq(index).fadeIn()
344
+        }
345
+      })
346
+    })
347
+  </script>
348
+</body>
349
+</html>

+ 43 - 0
src/assets/newIcon/iconfont.css

@@ -0,0 +1,43 @@
1
+@font-face {
2
+  font-family: "newicon"; /* Project id 4304849 */
3
+  src: url('iconfont.woff2?t=1709719097594') format('woff2'),
4
+       url('iconfont.woff?t=1709719097594') format('woff'),
5
+       url('iconfont.ttf?t=1709719097594') format('truetype');
6
+}
7
+
8
+.newicon {
9
+  font-family: "newicon" !important;
10
+  font-size: 16px;
11
+  font-style: normal;
12
+  -webkit-font-smoothing: antialiased;
13
+  -moz-osx-font-smoothing: grayscale;
14
+}
15
+
16
+.newicon-liebiao:before {
17
+  content: "\e61a";
18
+}
19
+
20
+.newicon-icon_zhengzaijinx:before {
21
+  content: "\e635";
22
+}
23
+
24
+.newicon-xiala1:before {
25
+  content: "\e662";
26
+}
27
+
28
+.newicon-saoma:before {
29
+  content: "\e660";
30
+}
31
+
32
+.newicon-yifeiguanli:before {
33
+  content: "\e60a";
34
+}
35
+
36
+.newicon-a-ziyuan7:before {
37
+  content: "\e604";
38
+}
39
+
40
+.newicon-a-ziyuan3:before {
41
+  content: "\e601";
42
+}
43
+

文件差异内容过多而无法显示
+ 1 - 0
src/assets/newIcon/iconfont.js


+ 58 - 0
src/assets/newIcon/iconfont.json

@@ -0,0 +1,58 @@
1
+{
2
+  "id": "4304849",
3
+  "name": "新转运图标",
4
+  "font_family": "newicon",
5
+  "css_prefix_text": "newicon-",
6
+  "description": "",
7
+  "glyphs": [
8
+    {
9
+      "icon_id": "2172644",
10
+      "name": "列表",
11
+      "font_class": "liebiao",
12
+      "unicode": "e61a",
13
+      "unicode_decimal": 58906
14
+    },
15
+    {
16
+      "icon_id": "4852661",
17
+      "name": "icon_zhengzaijinx",
18
+      "font_class": "icon_zhengzaijinx",
19
+      "unicode": "e635",
20
+      "unicode_decimal": 58933
21
+    },
22
+    {
23
+      "icon_id": "5933299",
24
+      "name": "xiala02",
25
+      "font_class": "xiala1",
26
+      "unicode": "e662",
27
+      "unicode_decimal": 58978
28
+    },
29
+    {
30
+      "icon_id": "6757421",
31
+      "name": "扫一扫",
32
+      "font_class": "saoma",
33
+      "unicode": "e660",
34
+      "unicode_decimal": 58976
35
+    },
36
+    {
37
+      "icon_id": "39332508",
38
+      "name": "医废管理",
39
+      "font_class": "yifeiguanli",
40
+      "unicode": "e60a",
41
+      "unicode_decimal": 58890
42
+    },
43
+    {
44
+      "icon_id": "37864731",
45
+      "name": "头像",
46
+      "font_class": "a-ziyuan7",
47
+      "unicode": "e604",
48
+      "unicode_decimal": 58884
49
+    },
50
+    {
51
+      "icon_id": "37861550",
52
+      "name": "箭头上",
53
+      "font_class": "a-ziyuan3",
54
+      "unicode": "e601",
55
+      "unicode_decimal": 58881
56
+    }
57
+  ]
58
+}

二进制
src/assets/newIcon/iconfont.ttf


二进制
src/assets/newIcon/iconfont.woff


二进制
src/assets/newIcon/iconfont.woff2