• angular小练习--手写弹出窗口以及文件上传或者复制粘贴,后读取打印文件内容


     

     

     


    实现代码如下

    <page-header>
      <ng-template>
      </ng-template>
    </page-header>
    <div>
      <nz-button-group>
        <button nz-button nzType="primary">新增</button>
        <button nz-button>编辑</button>
        <button nz-button (click)="myBlackBoxChange=true">打开黑框</button>
    
        <button nz-button>删除</button>
        <button nz-button nzType="default">刷新</button>
        <button nz-button nzType="default">保存</button>
      </nz-button-group>
      <nz-button-group>
        <button nz-button nzType="primary"><i nz-icon nzType="left"></i>上一个</button>
        <button nz-button nzType="primary">下一个<i nz-icon nzType="right"></i></button>
      </nz-button-group>
    </div>
    <div se-container="1" class="mybox">
        <div class="left-box">
                <se label="单号选择">
                        <nz-select [(ngModel)]="mystatus"  [nzPlaceHolder]="'请选择'" class="myselect">
                            <nz-option *ngFor="let i of status; let idx = index" [nzLabel]="i.text" [nzValue]="idx"></nz-option>
                        </nz-select>
                      </se>
                      <se label="单号选择">
                        <nz-select [(ngModel)]="mystatus" name="status" id="status" [nzPlaceHolder]="'请选择'" [nzShowSearch]="true" class="myselect">
                          <nz-option >选项一</nz-option>
                        </nz-select>
                      </se>
                      <se label="单号选择">
                        <nz-select [(ngModel)]="mystatus" name="status" id="status" [nzPlaceHolder]="'请选择'" [nzShowSearch]="true" class="myselect">
                            <nz-option >选项一</nz-option>
                        </nz-select>
                      </se>
        </div>
    </div>
    <div class="myBlack" *ngIf="myBlackBoxChange"  >
          <nz-card class="myBlackBox">
            <div style="position: relative; ">请把SN贴入下框
              <span style="position:absolute; 
              right: -14px;
              top: -24px;
              cursor: pointer;
              " (click)="myBlackBoxChange=false">X</span>
            </div>
            <textarea rows="8" nz-input [(ngModel)]="myinputValue"></textarea>
            <div style="text-align: center;margin-top:10px;line-height: 50px">
              <span></span>
            <button nz-button  (click)="loadTwo()" [nzLoading]="isLoadingTwo" style="z-index: 9999">
                <i nz-icon nzType="poweroff"></i>确认提交
              </button>
              <span>或者</span>
              <div style="text-align: center;display:inline-block;line-height: 50px">
                  <span class=" fileinput-button">
                      <span nz-button nzType="primary" style="display:inline-block;line-height: 30px">点击上传文件</span>
                      <input type="file" (change)="myUpload($event)">
                  </span>
              </div>
            </div>
          </nz-card>
    
    </div>
    import { Component, OnInit, ViewChild, TemplateRef, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
    import { NzMessageService, NzModalService } from 'ng-zorro-antd';
    import { _HttpClient } from '@delon/theme';
    import { tap, map } from 'rxjs/operators';
    import Clipboard from '../../../../clipboard.min.js';
    import { STComponent, STColumn, STData, STChange } from '@delon/abc';
    
    
    @Component({
      selector: 'app-wlblock',
      templateUrl: './wlblock.component.html',
      styleUrls: ['./wlblock.component.less']
    })
    export class WlblockComponent implements OnInit {
      private status = [];
      private mystatus;
      private myData2;
      private myData;
      private myBlackBoxChange:boolean = false;
      isLoadingTwo = false;
    
      private myinputValue;
      constructor(private http:_HttpClient ) { }
    
      ngOnInit() {//初始化时候,异步请求服务器端的首页数据
        let url='http://localhost:4200/assets/myjson/mydata.json';
        this.http.get(url).subscribe((res:any)=>{
          this.status=res.data1
          console.log(this.status)
        })
      }
      myclick(e:MouseEvent){
        e.preventDefault();
        console.log(e)
      }
      getData1(e){
        var clipboard = new Clipboard('btn');
     
    clipboard.on('success', function(e) {
        console.info('Action:', e.action);
        console.info('Text:', e.text);
        console.info('Trigger:', e.trigger);
        e.clearSelection();
    });
     
    clipboard.on('error', function(e) {
        console.error('Action:', e.action);
        console.error('Trigger:', e.trigger);
    });
      }
      loadTwo(): void {
        this.isLoadingTwo = true;
        setTimeout(() => {
          this.isLoadingTwo = false;
        }, 5000);
        console.log(this.myinputValue)
      }
    
      myUpload(e){
        console.log(e)
        let fileReader = new FileReader();
        fileReader.onload=()=>{
          console.log(fileReader.result)
        }
        // fileReader.readAsText(e.target.files[0], 'utf-8')
        fileReader.readAsText(e.target.files[0])
      }
    }
      
    

      

     

    .mybox{
        display:flex;
        justify-content: center;
        align-items: center;
        padding-top:30px;
        .left-box,.right-box{
            width:50%;
            min-width: 350px;
            clear: both;
        }
        
        .myselect{
            width:200px;
        }
    }
    .myBlack{
        width: 100%;
        height: 100vh;
        position: absolute;
        left:0;
        top:0;
        background-color: rgba(0,0,0,0.4);
        .myBlackBox{
            width: 600px;
            height: 350px;
            position: absolute;
            left:50%;
            top:50%;
            margin:-150px 0 0 -200px;
        }
    
    }
    textarea{
        resize: none;
    }
    .fileinput-button {
        position: relative;
        // display: inline-block;
        overflow: hidden;
        cursor: pointer;
    }
    
    .fileinput-button input{
        position:absolute;
        right: 0px;
        top: 0px;
        opacity: 0;
        -ms-filter: 'alpha(opacity=0)';
        font-size: 30px;
    }

     

  • 相关阅读:
    POJ 1837 Balance 水题, DP 难度:0
    POJ 3126 Prime Path bfs, 水题 难度:0
    python学习笔记day01 练习题
    python学习笔记day01_08 循环语句while
    python学习笔记day01_07 流程控制语句
    python学习笔记day01_06 基础数据类型
    python学习笔记day01_05 运行py程序--常量,变量,注释
    python学习笔记day01_04 python分类
    python学习笔记-day01_02计算机基础
    PAT 甲级 1134 Vertex Cover
  • 原文地址:https://www.cnblogs.com/sugartang/p/11415655.html
Copyright © 2020-2023  润新知