Browse Source

[新增]数据采集车辆布局

tangshan
邵佳豪 4 years ago
parent
commit
2b904c17db
  1. 5
      src/app/data-collection/data-collection.module.ts
  2. 239
      src/app/data-collection/fire-force/fire-force.component.html
  3. 497
      src/app/data-collection/fire-force/fire-force.component.scss
  4. 1077
      src/app/data-collection/fire-force/fire-force.component.ts
  5. 4
      src/app/export-excel/export-excel.component.ts
  6. BIN
      src/assets/images/goback.png
  7. 5
      src/styles.scss

5
src/app/data-collection/data-collection.module.ts

@ -47,7 +47,7 @@ import { AddWater, WaterCollectionComponent } from './water-collection/water-col
import { AddFireForce, FireForceComponent, ViewDetails } from './fire-force/fire-force.component'; import { AddFireForce, FireForceComponent, ViewDetails } from './fire-force/fire-force.component';
import { AddLinkageForce, LinkageForcesComponent, ViewDetails2 } from './linkage-forces/linkage-forces.component'; import { AddLinkageForce, LinkageForcesComponent, ViewDetails2 } from './linkage-forces/linkage-forces.component';
import { NzTreeModule } from 'ng-zorro-antd/tree'; import { NzTreeModule } from 'ng-zorro-antd/tree';
import { NzTreeSelectModule } from 'ng-zorro-antd/tree-select';
@NgModule({ @NgModule({
declarations: [WaterCollectionComponent, FireForceComponent, LinkageForcesComponent, AddWater, AddFireForce, ViewDetails, AddLinkageForce, ViewDetails2], declarations: [WaterCollectionComponent, FireForceComponent, LinkageForcesComponent, AddWater, AddFireForce, ViewDetails, AddLinkageForce, ViewDetails2],
imports: [ imports: [
@ -97,7 +97,8 @@ import { NzTreeModule } from 'ng-zorro-antd/tree';
FormsModule, FormsModule,
ReactiveFormsModule, ReactiveFormsModule,
DataCollectionRoutingModule, DataCollectionRoutingModule,
NzTreeModule NzTreeModule,
// NzTreeSelectModule
] ]
}) })
export class DataCollectionModule { } export class DataCollectionModule { }

239
src/app/data-collection/fire-force/fire-force.component.html

@ -3,10 +3,12 @@
<div class="topbox"> <div class="topbox">
<div class="add"> <div class="add">
<div> <div>
<mat-slide-toggle color="primary" (change)='slideChange($event)' checked labelPosition='before'>列表过滤</mat-slide-toggle> <mat-slide-toggle color="primary" (change)='slideChange($event)' checked labelPosition='before'>列表过滤
</mat-slide-toggle>
</div> </div>
<div> <div>
<button (click)="reset()" style="width: 68px;margin-right: 12px;" mat-flat-button color="primary">重置</button> <button (click)="reset()" style="width: 68px;margin-right: 12px;" mat-flat-button
color="primary">重置</button>
<button (click)="addFireForce()" style="width: 68px;" mat-flat-button color="primary">新增</button> <button (click)="addFireForce()" style="width: 68px;" mat-flat-button color="primary">新增</button>
</div> </div>
</div> </div>
@ -15,7 +17,7 @@
<span> <span>
关键字: 关键字:
</span> </span>
<input type="text" placeholder="请输入名称/类别" [(ngModel)]="searchForm.name"/> <input type="text" placeholder="请输入名称/类别" [(ngModel)]="searchForm.name" />
</div> </div>
<div class="inputbox"> <div class="inputbox">
<span> <span>
@ -27,7 +29,9 @@
</select> </select>
</div> </div>
<div class="searchbtn"> <div class="searchbtn">
<button (click)="searchList()" style="width: 100%;" mat-flat-button color="primary"><mat-icon style="width: 20px;height: 20px;font-size: 20px;">search</mat-icon>搜索</button> <button (click)="searchList()" style="width: 100%;" mat-flat-button color="primary">
<mat-icon style="width: 20px;height: 20px;font-size: 20px;">search</mat-icon>搜索
</button>
</div> </div>
</div> </div>
</div> </div>
@ -38,27 +42,33 @@
<span>完整度</span> <span>完整度</span>
</div> </div>
<div class="fireForceTree" id="fireForceTree" *ngIf="isTreeView"> <div class="fireForceTree" id="fireForceTree" *ngIf="isTreeView">
<mat-tree [dataSource]="dataSource" [treeControl]="treeControl" > <mat-tree [dataSource]="dataSource" [treeControl]="treeControl">
<mat-tree-node (click)="selectTreeNode(node)" [ngClass]="{'selectedTreeNode': node.id == selectedFireForceId}" *matTreeNodeDef="let node;" matTreeNodePadding matTreeNodePaddingIndent='10px'> <mat-tree-node (click)="selectTreeNode(node)"
[ngClass]="{'selectedTreeNode': node.id == selectedFireForceId}" *matTreeNodeDef="let node;"
matTreeNodePadding matTreeNodePaddingIndent='10px'>
<button mat-icon-button disabled ></button> <button mat-icon-button disabled></button>
<span class="nodename">{{node.name}}</span> <span class="nodename">{{node.name}}</span>
<div class="integrity"> <div class="integrity">
<span class="integrityNum"> <span class="integrityNum">
{{node.fireForceDetailInfo ? accMul(node.fireForceDetailInfo.integrityScore.toFixed(3),100,1) : 0}}% {{node.fireForceDetailInfo ?
accMul(node.fireForceDetailInfo.integrityScore.toFixed(3),100,1) : 0}}%
</span> </span>
<div class="integrityColorDiv" [style]="integrity(node.fireForceDetailInfo ? (node.fireForceDetailInfo.integrityScore.toFixed(2) * 100).toFixed(): 0)"> <div class="integrityColorDiv"
[style]="integrity(node.fireForceDetailInfo ? (node.fireForceDetailInfo.integrityScore.toFixed(2) * 100).toFixed(): 0)">
</div>
</div> </div>
<div class="deletebtn" (click)="deleteFireForce(node,$event)">
<mat-icon>highlight_off</mat-icon>
</div> </div>
<div class="deletebtn" (click)="deleteFireForce(node,$event)"><mat-icon>highlight_off</mat-icon></div>
</mat-tree-node> </mat-tree-node>
<mat-tree-node (click)="selectTreeNode(node)" [ngClass]="{'selectedTreeNode': node.id == selectedFireForceId}" *matTreeNodeDef="let node;when: hasChild" matTreeNodePadding matTreeNodePaddingIndent='10px'> <mat-tree-node (click)="selectTreeNode(node)"
[ngClass]="{'selectedTreeNode': node.id == selectedFireForceId}"
*matTreeNodeDef="let node;when: hasChild" matTreeNodePadding matTreeNodePaddingIndent='10px'>
<button mat-icon-button <button mat-icon-button matTreeNodeToggle [attr.aria-label]="'toggle ' + node.name">
matTreeNodeToggle
[attr.aria-label]="'toggle ' + node.name">
<mat-icon class="mat-icon-rtl-mirror"> <mat-icon class="mat-icon-rtl-mirror">
{{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}} {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
</mat-icon> </mat-icon>
@ -66,27 +76,36 @@
<span class="nodename">{{node.name}}</span> <span class="nodename">{{node.name}}</span>
<div class="integrity"> <div class="integrity">
<span class="integrityNum"> <span class="integrityNum">
{{node.fireForceDetailInfo ? accMul(node.fireForceDetailInfo.integrityScore.toFixed(3),100,1) : 0}}% {{node.fireForceDetailInfo ?
accMul(node.fireForceDetailInfo.integrityScore.toFixed(3),100,1) : 0}}%
</span> </span>
<div class="integrityColorDiv" [style]="integrity(node.fireForceDetailInfo ? (node.fireForceDetailInfo.integrityScore.toFixed(2) * 100).toFixed(): 0)"> <div class="integrityColorDiv"
[style]="integrity(node.fireForceDetailInfo ? (node.fireForceDetailInfo.integrityScore.toFixed(2) * 100).toFixed(): 0)">
</div> </div>
</div> </div>
<div class="deletebtn" (click)="deleteFireForce(node,$event)"><mat-icon>highlight_off</mat-icon></div> <div class="deletebtn" (click)="deleteFireForce(node,$event)">
<mat-icon>highlight_off</mat-icon>
</div>
</mat-tree-node> </mat-tree-node>
</mat-tree> </mat-tree>
</div> </div>
<div class="fireForceList" *ngIf="!isTreeView"> <div class="fireForceList" *ngIf="!isTreeView">
<ul> <ul>
<li [ngClass]="{'selectedLi': item.id == selectedFireForceId}" *ngFor="let item of allFireForceList;let key = index" (click)="selectTreeNode(item)"> <li [ngClass]="{'selectedLi': item.id == selectedFireForceId}"
*ngFor="let item of allFireForceList;let key = index" (click)="selectTreeNode(item)">
<div class="name" [title]="item.name">{{item.name}}</div> <div class="name" [title]="item.name">{{item.name}}</div>
<div class="integrity"> <div class="integrity">
<span class="integrityNum"> <span class="integrityNum">
{{item.fireForceDetailInfo ? accMul(item.fireForceDetailInfo.integrityScore.toFixed(3),100,1) : 0}}% {{item.fireForceDetailInfo ?
accMul(item.fireForceDetailInfo.integrityScore.toFixed(3),100,1) : 0}}%
</span> </span>
<div class="integrityColorDiv" [style]="integrity(item.fireForceDetailInfo ? (item.fireForceDetailInfo.integrityScore.toFixed(2) * 100).toFixed(): 0)"> <div class="integrityColorDiv"
[style]="integrity(item.fireForceDetailInfo ? (item.fireForceDetailInfo.integrityScore.toFixed(2) * 100).toFixed(): 0)">
</div>
</div> </div>
<div class="deletebtn" (click)="deleteFireForce(item,$event)">
<mat-icon>highlight_off</mat-icon>
</div> </div>
<div class="deletebtn" (click)="deleteFireForce(item,$event)"><mat-icon>highlight_off</mat-icon></div>
</li> </li>
</ul> </ul>
</div> </div>
@ -94,14 +113,16 @@
</div> </div>
<div class="mapbox"> <div class="mapbox">
<div class="mapcheckbox"> <div class="mapcheckbox">
<mat-checkbox (change)="checkBoxChange()" [(ngModel)]="item.isChecked" color="primary" *ngFor="let item of checkBoxList">{{item.name}}</mat-checkbox> <mat-checkbox (change)="checkBoxChange()" [(ngModel)]="item.isChecked" color="primary"
*ngFor="let item of checkBoxList">{{item.name}}</mat-checkbox>
</div> </div>
<div id="map" class="map" style="overflow: hidden;"> <div id="map" class="map" style="overflow: hidden;">
<div id="container"></div> <div id="container"></div>
<div class="gistopbox hidden" [ngClass]="{'show': isGisTopBox}"> <div class="gistopbox hidden" [ngClass]="{'show': isGisTopBox}">
<div class="inputBox"> <div class="inputBox">
<span>搜索: </span> <span>搜索: </span>
<input name="position" [(ngModel)]="searchTitle" id="tipinput" class="positionInput" type="text" autocomplete="off"> <input name="position" [(ngModel)]="searchTitle" id="tipinput" class="positionInput" type="text"
autocomplete="off">
</div> </div>
</div> </div>
</div> </div>
@ -127,14 +148,16 @@
<div (click)="selectedTab(1)" [ngClass]="{'selectedBtn': tabIndex == 1}"> <div (click)="selectedTab(1)" [ngClass]="{'selectedBtn': tabIndex == 1}">
<span>详情</span> <span>详情</span>
</div> </div>
<!-- <div (click)="selectedTab(2)" [ngClass]="{'selectedBtn': tabIndex == 2}"> <div (click)="selectedTab(2)" [ngClass]="{'selectedBtn': tabIndex == 2}">
<span>车辆装备</span> <span>车辆装备</span>
</div> --> </div>
<!-- <div (click)="selectedTab(3)" [ngClass]="{'selectedBtn': tabIndex == 3}"> <div (click)="selectedTab(3)" [ngClass]="{'selectedBtn': tabIndex == 3}">
<span>相关资料</span> <span>相关资料</span>
</div> --> </div>
</div> </div>
<div class="btnbox"> <div class="btnbox">
<div class="goback" (click)="goback()" *ngIf="carPageIndex == 1"><img
src="/assets/images/goback.png" alt=""> 返回</div>
<div class="uploadAttachment" *ngIf="tabIndex == 3"> <div class="uploadAttachment" *ngIf="tabIndex == 3">
<button mat-flat-button color="primary"> <button mat-flat-button color="primary">
<mat-icon>attach_file</mat-icon> <mat-icon>attach_file</mat-icon>
@ -144,7 +167,6 @@
<input type="file" (change)='uploadAttachment($event)'> <input type="file" (change)='uploadAttachment($event)'>
</a> </a>
</div> </div>
<!-- <span class="state" *ngIf="selectedFireForce.contentVerify && selectedFireForce.contentVerify.verifyState == 3">( <!-- <span class="state" *ngIf="selectedFireForce.contentVerify && selectedFireForce.contentVerify.verifyState == 3">(
<span *ngIf="selectedFireForce.contentVerify.operation == 2" style="color: red;">删除</span> <span *ngIf="selectedFireForce.contentVerify.operation == 2" style="color: red;">删除</span>
<span *ngIf="selectedFireForce.contentVerify.operation == 0" >新增</span> <span *ngIf="selectedFireForce.contentVerify.operation == 0" >新增</span>
@ -156,7 +178,9 @@
<span class="submitAudit" *ngIf="!selectedFireForce.contentVerify || selectedFireForce.contentVerify.verifyState == 5 || selectedFireForce.contentVerify.verifyState == 4" (click)="submitAudit()"><mat-icon>open_in_browser</mat-icon>提交审核</span> <span class="submitAudit" *ngIf="!selectedFireForce.contentVerify || selectedFireForce.contentVerify.verifyState == 5 || selectedFireForce.contentVerify.verifyState == 4" (click)="submitAudit()"><mat-icon>open_in_browser</mat-icon>提交审核</span>
<span class="state" *ngIf="selectedFireForce.contentVerify && selectedFireForce.contentVerify.verifyState == 3" (click)="cancelAudit()">撤销审核</span> <span class="state" *ngIf="selectedFireForce.contentVerify && selectedFireForce.contentVerify.verifyState == 3" (click)="cancelAudit()">撤销审核</span>
<span class="save state" *ngIf="!selectedFireForce.contentVerify || selectedFireForce.contentVerify.verifyState == 5 || selectedFireForce.contentVerify.verifyState == 4" (click)="save()"><mat-icon>save</mat-icon>保存</span> --> <span class="save state" *ngIf="!selectedFireForce.contentVerify || selectedFireForce.contentVerify.verifyState == 5 || selectedFireForce.contentVerify.verifyState == 4" (click)="save()"><mat-icon>save</mat-icon>保存</span> -->
<span class="close" (click)="close()"><mat-icon>close</mat-icon>关闭</span> <span class="close" (click)="close()">
<mat-icon>close</mat-icon>关闭
</span>
</div> </div>
</div> </div>
<!-- 详情 --> <!-- 详情 -->
@ -194,7 +218,8 @@
<span> <span>
备注: 备注:
</span> </span>
<textarea [(ngModel)]="FireForceDetailInfo.remark" style="height: 80%;width: 84%;" name="" id="" cols="30" rows="10"></textarea> <textarea [(ngModel)]="FireForceDetailInfo.remark" style="height: 80%;width: 84%;" name=""
id="" cols="30" rows="10"></textarea>
</mat-grid-tile> </mat-grid-tile>
</mat-grid-list> </mat-grid-list>
<p>位置信息</p> <p>位置信息</p>
@ -209,11 +234,13 @@
<span> <span>
经度: 经度:
</span> </span>
<input [(ngModel)]="positionLngLat.x" disabled type="text" style="width: 26%;margin-right: 6%;"> <input [(ngModel)]="positionLngLat.x" disabled type="text"
style="width: 26%;margin-right: 6%;">
<span> <span>
纬度: 纬度:
</span> </span>
<input [(ngModel)]="positionLngLat.y" disabled type="text" style="width: 26%;margin-right: 6%;"> <input [(ngModel)]="positionLngLat.y" disabled type="text"
style="width: 26%;margin-right: 6%;">
<!-- <button (click)="setPosition()" style="width:85px;text-align: center;" mat-flat-button color="primary"> <!-- <button (click)="setPosition()" style="width:85px;text-align: center;" mat-flat-button color="primary">
<mat-icon style="width: 20px;height: 20px;font-size: 20px;">place</mat-icon>位置 <mat-icon style="width: 20px;height: 20px;font-size: 20px;">place</mat-icon>位置
</button> --> </button> -->
@ -322,7 +349,8 @@
<span> <span>
备注: 备注:
</span> </span>
<textarea [(ngModel)]="FireForceDetailInfo.remark" style="height: 80%;width: 84%;" name="" id="" cols="30" rows="10"></textarea> <textarea [(ngModel)]="FireForceDetailInfo.remark" style="height: 80%;width: 84%;" name=""
id="" cols="30" rows="10"></textarea>
</mat-grid-tile> </mat-grid-tile>
</mat-grid-list> </mat-grid-list>
<p>位置信息</p> <p>位置信息</p>
@ -337,11 +365,13 @@
<span> <span>
经度: 经度:
</span> </span>
<input [(ngModel)]="positionLngLat.x" disabled type="text" style="width: 26%;margin-right: 6%;"> <input [(ngModel)]="positionLngLat.x" disabled type="text"
style="width: 26%;margin-right: 6%;">
<span> <span>
纬度: 纬度:
</span> </span>
<input [(ngModel)]="positionLngLat.y" disabled type="text" style="width: 26%;margin-right: 6%;"> <input [(ngModel)]="positionLngLat.y" disabled type="text"
style="width: 26%;margin-right: 6%;">
<!-- <button (click)="setPosition()" style="width:85px;text-align: center;" mat-flat-button color="primary"> <!-- <button (click)="setPosition()" style="width:85px;text-align: center;" mat-flat-button color="primary">
<mat-icon style="width: 20px;height: 20px;font-size: 20px;">place</mat-icon>位置 <mat-icon style="width: 20px;height: 20px;font-size: 20px;">place</mat-icon>位置
</button> --> </button> -->
@ -370,7 +400,7 @@
</mat-grid-tile> </mat-grid-tile>
</mat-grid-list> </mat-grid-list>
<p>联系方式</p> <p>联系方式</p>
<mat-grid-list cols="6" rowHeight="40px" > <mat-grid-list cols="6" rowHeight="40px">
<mat-grid-tile colspan='3' rowspan='1'> <mat-grid-tile colspan='3' rowspan='1'>
<span> <span>
站长姓名: 站长姓名:
@ -479,8 +509,10 @@
<span> <span>
站长: 站长:
</span> </span>
<input [(ngModel)]="othercontactData[2].PropertyValue" class="smallwidth" type="text" placeholder="姓名"> <input [(ngModel)]="othercontactData[2].PropertyValue" class="smallwidth" type="text"
<input [(ngModel)]="othercontactData[3].PropertyValue" class="smallwidth" type="text" placeholder="联系方式"> placeholder="姓名">
<input [(ngModel)]="othercontactData[3].PropertyValue" class="smallwidth" type="text"
placeholder="联系方式">
</mat-grid-tile> </mat-grid-tile>
<mat-grid-tile colspan='3' rowspan='1'> <mat-grid-tile colspan='3' rowspan='1'>
<span> <span>
@ -492,8 +524,10 @@
<span> <span>
负责人: 负责人:
</span> </span>
<input [(ngModel)]="othercontactData[4].PropertyValue" class="smallwidth" type="text" placeholder="姓名"> <input [(ngModel)]="othercontactData[4].PropertyValue" class="smallwidth" type="text"
<input [(ngModel)]="othercontactData[5].PropertyValue" class="smallwidth" type="text" placeholder="联系方式"> placeholder="姓名">
<input [(ngModel)]="othercontactData[5].PropertyValue" class="smallwidth" type="text"
placeholder="联系方式">
</mat-grid-tile> </mat-grid-tile>
<mat-grid-tile colspan='3' rowspan='1'> <mat-grid-tile colspan='3' rowspan='1'>
<span> <span>
@ -505,7 +539,8 @@
<span> <span>
备注: 备注:
</span> </span>
<textarea [(ngModel)]="FireForceDetailInfo.remark" style="height: 80%;width: 82%;" name="" id="" cols="30" rows="10"></textarea> <textarea [(ngModel)]="FireForceDetailInfo.remark" style="height: 80%;width: 82%;" name=""
id="" cols="30" rows="10"></textarea>
</mat-grid-tile> </mat-grid-tile>
</mat-grid-list> </mat-grid-list>
<p>位置信息</p> <p>位置信息</p>
@ -520,11 +555,13 @@
<span> <span>
经度: 经度:
</span> </span>
<input [(ngModel)]="positionLngLat.x" disabled type="text" style="width: 26%;margin-right: 6%;"> <input [(ngModel)]="positionLngLat.x" disabled type="text"
style="width: 26%;margin-right: 6%;">
<span> <span>
纬度: 纬度:
</span> </span>
<input [(ngModel)]="positionLngLat.y" disabled type="text" style="width: 26%;margin-right: 6%;"> <input [(ngModel)]="positionLngLat.y" disabled type="text"
style="width: 26%;margin-right: 6%;">
<!-- <button (click)="setPosition()" style="width:85px;text-align: center;" mat-flat-button color="primary"> <!-- <button (click)="setPosition()" style="width:85px;text-align: center;" mat-flat-button color="primary">
<mat-icon style="width: 20px;height: 20px;font-size: 20px;">place</mat-icon>位置 <mat-icon style="width: 20px;height: 20px;font-size: 20px;">place</mat-icon>位置
</button> --> </button> -->
@ -568,21 +605,121 @@
</div> </div>
</div> </div>
<!-- 车辆 --> <!-- 车辆 -->
<!-- <div class="contant" *ngIf="tabIndex == 2"> <div class="contant" *ngIf="tabIndex == 2">
车辆 <div class="carOne carcontent" *ngIf="carPageIndex == 0">
</div> --> <div class="cartopbox">
<div class="add">
<div>
<mat-slide-toggle color="primary" (change)='carslideChange($event)' checked
labelPosition='before'>列表过滤</mat-slide-toggle>
</div>
<div>
<button (click)="reset()" style="width: 68px;margin-right: 12px;" mat-flat-button
color="primary">重置</button>
<button (click)="addFireForce()" style="width: 68px;" mat-flat-button
color="primary">新增</button>
</div>
</div>
<div class="searchbox" *ngIf="isCarCheckedOfSearchDiv">
<div class="inputbox">
<span>
关键字:
</span>
<input type="text" placeholder="请输入名称/车牌号" [(ngModel)]="carSearchForm.name" />
</div>
<div class="inputbox">
<span>
所属队站:
</span>
<input type="text" placeholder="请选择" [(ngModel)]="carSearchForm.organization" />
</div>
<div class="inputbox">
<span>
车辆类别:
</span>
<!-- <nz-tree-select style="width: 250px" [nzExpandedKeys]="expandKeys" [nzNodes]="nodes"
nzShowSearch nzPlaceHolder="Please select" [(ngModel)]="value"
(ngModelChange)="onChange($event)"></nz-tree-select> -->
</div>
<div class="inputbox">
<span>
完整度:
</span>
<select class="shortselect" [(ngModel)]="carSearchForm.integrityNum"
[ngClass]="{'gray': carSearchForm.integrityNum == ''}">
<option value='' selected disabled style='display:none;'>请选择</option>
<option *ngFor="let item of listIntegrityNum" [value]="item.id">{{item.name}}
</option>
</select>
<div class="searchbtn">
<button (click)="searchList()" style="width: 100%;" mat-flat-button color="primary">
<mat-icon style="width: 20px;height: 20px;font-size: 20px;">search</mat-icon>搜索
</button>
</div>
</div>
</div>
</div>
<div class="carList">
<table>
<tr>
<td>车辆名称</td>
<td>所属队站</td>
<td>完整度</td>
<td></td>
</tr>
<tr *ngFor="let item of carsList" class="caritem" (click)="openCarDetails(item)">
<td class="td1">{{item.name}}</td>
<td class="td2">{{item.organization}}</td>
<td>
<div class="integrity">
<span class="integrityNum">
{{item.integrityScore ? accMul(item.integrityScore.toFixed(3),100,1) : 0}}%
</span>
<div class="integrityColorDiv"
[style]="integrity(item.integrityScore ? (item.integrityScore.toFixed(2) * 100).toFixed(): 0)">
</div>
</div>
</td>
<td>
<mat-icon class="deleteFile">highlight_off</mat-icon>
</td>
</tr>
</table>
</div>
<div class="pagingDevice">
<mat-paginator [length]="dataLength" [pageSize]="16" (page)="chagePage($event)"></mat-paginator>
</div>
</div>
<div class="carTwo" *ngIf="carPageIndex == 1">
<p>基本信息</p>
<div>
<div>
<span><span style="color: red;">*</span>车辆类别</span>
<select class="shortselect" [(ngModel)]="carSearchForm.integrityNum"
[ngClass]="{'gray': carSearchForm.integrityNum == ''}">
<option value='' selected disabled style='display:none;'>请选择</option>
<option *ngFor="let item of listIntegrityNum" [value]="item.id">{{item.name}}</option>
</select>
</div>
</div>
<p>作战用信息</p>
<p>车载灭火剂</p>
<p>消防器材</p>
</div>
</div>
<!-- 相关资料 --> <!-- 相关资料 -->
<div class="contant" *ngIf="tabIndex == 3"> <div class="contant" *ngIf="tabIndex == 3">
<div class="fileDivBox" *ngFor="let item of AttachmentArr" > <div class="fileDivBox" *ngFor="let item of AttachmentArr">
<mat-icon class="deleteFile" (click)="deleteFile(item,$event)">highlight_off</mat-icon> <mat-icon class="deleteFile" (click)="deleteFile(item,$event)">highlight_off</mat-icon>
<div class="imgbox"> <div class="imgbox">
<img *ngIf="item.fileName.split('.')[item.fileName.split('.').length-1] == 'png' <img *ngIf="item.fileName.split('.')[item.fileName.split('.').length-1] == 'png'
|| item.fileName.split('.')[item.fileName.split('.').length-1] == 'jpg' || item.fileName.split('.')[item.fileName.split('.').length-1] == 'jpg'
|| item.fileName.split('.')[item.fileName.split('.').length-1] == 'JPG'" || item.fileName.split('.')[item.fileName.split('.').length-1] == 'JPG'" class="thumbnailImg"
class="thumbnailImg" src="/api/Objects/PlanPlatform/{{item.objectName}}" alt=""> src="/api/Objects/PlanPlatform/{{item.objectName}}" alt="">
<img *ngIf="item.fileName.split('.')[item.fileName.split('.').length-1] == 'docx' <img *ngIf="item.fileName.split('.')[item.fileName.split('.').length-1] == 'docx'
|| item.fileName.split('.')[item.fileName.split('.').length-1] == 'doc'" || item.fileName.split('.')[item.fileName.split('.').length-1] == 'doc'" class="thumbnailImg"
class="thumbnailImg" src="/assets/images/word.jpg" alt=""> src="/assets/images/word.jpg" alt="">
<img *ngIf="item.fileName.split('.')[item.fileName.split('.').length-1] == 'pdf'" <img *ngIf="item.fileName.split('.')[item.fileName.split('.').length-1] == 'pdf'"
class="thumbnailImg" src="/assets/images/pdf.jpg" alt=""> class="thumbnailImg" src="/assets/images/pdf.jpg" alt="">
<img *ngIf="item.fileName.split('.')[item.fileName.split('.').length-1] == 'txt'" <img *ngIf="item.fileName.split('.')[item.fileName.split('.').length-1] == 'txt'"

497
src/app/data-collection/fire-force/fire-force.component.scss

@ -1,7 +1,7 @@
.box{ .box {
width: 100%; width: 100%;
height: 100%; height: 100%;
background-color: #F2F4F6; background-color: #f2f4f6;
display: flex; display: flex;
box-sizing: border-box; box-sizing: border-box;
padding: 10px; padding: 10px;
@ -9,43 +9,43 @@
font-weight: 400; font-weight: 400;
color: #000000; color: #000000;
} }
.listbox{ .listbox {
width: 400px; width: 400px;
height: 100%; height: 100%;
background-color: #fff; background-color: #fff;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.topbox{ .topbox {
max-height: 200px; max-height: 200px;
box-sizing: border-box; box-sizing: border-box;
padding: 10px 22px 22px; padding: 10px 22px 22px;
.add{ .add {
height: 36px; height: 36px;
line-height: 36px; line-height: 36px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
.searchbox{ .searchbox {
.inputbox{ .inputbox {
width: 100%; width: 100%;
height: 36px; height: 36px;
font-size: 14px; font-size: 14px;
line-height: 36px; line-height: 36px;
margin: 10px 0; margin: 10px 0;
display: flex; display: flex;
span{ span {
margin-right: 5px; margin-right: 5px;
} }
select,input{ select,
input {
flex: 1; flex: 1;
background-color: #F2F4F6; background-color: #f2f4f6;
border: 0; border: 0;
border-radius: 5px; border-radius: 5px;
box-sizing: border-box; box-sizing: border-box;
padding:0 8px; padding: 0 8px;
} }
.gray{ .gray {
color: gray; color: gray;
} }
// input::-moz-placeholder { // input::-moz-placeholder {
@ -61,12 +61,12 @@
} }
} }
} }
.contantbox{ .contantbox {
flex: 1; flex: 1;
overflow-y: auto; overflow-y: auto;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.title{ .title {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
width: 100%; width: 100%;
@ -74,25 +74,25 @@
padding: 0 33px 0 22px; padding: 0 33px 0 22px;
height: 36px; height: 36px;
line-height: 36px; line-height: 36px;
span{ span {
font-size: 14px; font-size: 14px;
font-weight: 500; font-weight: 500;
} }
} }
.fireForceTree{ .fireForceTree {
flex: 1; flex: 1;
overflow-y: auto; overflow-y: auto;
.nodename{ .nodename {
flex: 1; flex: 1;
overflow: hidden; overflow: hidden;
text-overflow:ellipsis text-overflow: ellipsis;
} }
.integrity{ .integrity {
width: 100px; width: 100px;
height: 16px; height: 16px;
position: relative; position: relative;
background-color: #F2F4F6; background-color: #f2f4f6;
.integrityNum{ .integrityNum {
position: absolute; position: absolute;
left: 50%; left: 50%;
top: 50%; top: 50%;
@ -101,23 +101,23 @@
font-size: 13px; font-size: 13px;
cursor: default; cursor: default;
} }
.integrityColorDiv{ .integrityColorDiv {
height: 100%; height: 100%;
} }
} }
.mat-tree-node{ .mat-tree-node {
cursor: pointer; cursor: pointer;
} }
.selectedTreeNode{ .selectedTreeNode {
background-color: #d2eafd; background-color: #d2eafd;
} }
.mat-tree-node:hover{ .mat-tree-node:hover {
background-color: #d2eafd; background-color: #d2eafd;
} }
.deletebtn{ .deletebtn {
width: 26px; width: 26px;
text-align: center; text-align: center;
mat-icon{ mat-icon {
width: 20px; width: 20px;
height: 20px; height: 20px;
cursor: pointer; cursor: pointer;
@ -125,15 +125,15 @@
vertical-align: middle; vertical-align: middle;
color: rgba(49, 46, 46, 0.144); color: rgba(49, 46, 46, 0.144);
} }
mat-icon:hover{ mat-icon:hover {
color: #000; color: #000;
} }
} }
} }
.fireForceList{ .fireForceList {
flex: 1; flex: 1;
overflow-y: auto; overflow-y: auto;
li{ li {
cursor: pointer; cursor: pointer;
width: 100%; width: 100%;
height: 36px; height: 36px;
@ -141,24 +141,24 @@
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 14px; font-size: 14px;
div{ div {
float: left; float: left;
box-sizing: border-box; box-sizing: border-box;
} }
.name{ .name {
text-align: left; text-align: left;
width: 60%; width: 60%;
padding-left: 22px; padding-left: 22px;
white-space:nowrap; white-space: nowrap;
overflow:hidden; overflow: hidden;
text-overflow:ellipsis; text-overflow: ellipsis;
} }
.integrity{ .integrity {
height: 58%; height: 58%;
width: 32%; width: 32%;
position: relative; position: relative;
background-color: #F2F4F6; background-color: #f2f4f6;
.integrityNum{ .integrityNum {
position: absolute; position: absolute;
left: 50%; left: 50%;
top: 50%; top: 50%;
@ -167,14 +167,14 @@
font-size: 13px; font-size: 13px;
cursor: default; cursor: default;
} }
.integrityColorDiv{ .integrityColorDiv {
height: 100%; height: 100%;
} }
} }
.deletebtn{ .deletebtn {
flex: 1; flex: 1;
text-align: center; text-align: center;
mat-icon{ mat-icon {
width: 20px; width: 20px;
height: 20px; height: 20px;
cursor: pointer; cursor: pointer;
@ -182,102 +182,100 @@
vertical-align: text-top; vertical-align: text-top;
color: rgba(49, 46, 46, 0.144); color: rgba(49, 46, 46, 0.144);
} }
mat-icon:hover{ mat-icon:hover {
color: #000; color: #000;
} }
} }
} }
li:hover{ li:hover {
background-color: #b3d3ee; background-color: #b3d3ee;
} }
.selectedLi{ .selectedLi {
background-color: #b3d3ee; background-color: #b3d3ee;
} }
} }
.paginator{ .paginator {
height: 56px; height: 56px;
width: 100%; width: 100%;
} }
} }
} }
.mapbox{ .mapbox {
flex: 1; flex: 1;
margin-left: 10px; margin-left: 10px;
background-color: #fff; background-color: #fff;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.mapcheckbox{ .mapcheckbox {
width: 100%; width: 100%;
height: 50px; height: 50px;
line-height: 50px; line-height: 50px;
mat-checkbox{ mat-checkbox {
margin-right:60px; margin-right: 60px;
font-size: 15px; font-size: 15px;
} }
mat-checkbox:nth-child(1){ mat-checkbox:nth-child(1) {
margin-left: 20px; margin-left: 20px;
} }
} }
#map{ #map {
flex: 1; flex: 1;
position: relative; position: relative;
#container{ #container {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
.gistopbox{ .gistopbox {
position: absolute; position: absolute;
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
border-radius: 5px; border-radius: 5px;
top: 3px; top: 3px;
width: 30%; width: 30%;
height:40px; height: 40px;
background: #FFFFFF; background: #ffffff;
display: flex; display: flex;
align-items: center; align-items: center;
cursor: default;; cursor: default;
.inputBox{ .inputBox {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
box-sizing: border-box; box-sizing: border-box;
font-size: 14px; font-size: 14px;
.positionInput{ .positionInput {
border: 0; border: 0;
border-radius: 6px; border-radius: 6px;
width: 80%; width: 80%;
height: 28px; height: 28px;
background: #F2F2F2; background: #f2f2f2;
margin-left: 8px; margin-left: 8px;
box-sizing: border-box; box-sizing: border-box;
padding-left: 10px; padding-left: 10px;
} }
} }
} }
.hidden{ .hidden {
opacity: 0; opacity: 0;
z-index: -1; z-index: -1;
} }
.show{ .show {
opacity: 1; opacity: 1;
z-index: 1; z-index: 1;
} }
} }
.detailsbox{ .detailsbox {
width: 100%; width: 100%;
height:500px; height: 500px;
position: relative; position: relative;
transition: height 0.5s; transition: height 0.5s;
.putDown{ .putDown {
position: absolute; position: absolute;
right: 0; right: 0;
top: -40px; top: -40px;
cursor: pointer; cursor: pointer;
} }
.tabsbox{ .tabsbox {
// margin-top: 10px; // margin-top: 10px;
width: 100%; width: 100%;
height: 40px; height: 40px;
@ -287,28 +285,28 @@
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
font-size: 15px; font-size: 15px;
.tabs{ .tabs {
div{ div {
float: left; float: left;
width: 120px; width: 120px;
text-align: center; text-align: center;
cursor: pointer; cursor: pointer;
color: #000000; color: #000000;
opacity: 0.4; opacity: 0.4;
border-right: 1px solid #F2F4F6; border-right: 1px solid #f2f4f6;
} }
.selectedBtn{ .selectedBtn {
background-color: #2196F3; background-color: #2196f3;
color: #fff; color: #fff;
opacity: 1; opacity: 1;
} }
} }
.btnbox{ .btnbox {
display: flex; display: flex;
align-items: center; align-items: center;
flex: 1; flex: 1;
justify-content: flex-end; justify-content: flex-end;
.uploadAttachment{ .uploadAttachment {
display: inline-block; display: inline-block;
margin-right: 20px; margin-right: 20px;
width: 120px; width: 120px;
@ -316,18 +314,18 @@
height: 28px; height: 28px;
line-height: 28px; line-height: 28px;
position: relative; position: relative;
button{ button {
width: 100%; width: 100%;
height: 28px; height: 28px;
line-height: 28px; line-height: 28px;
mat-icon{ mat-icon {
transform: rotate(25deg); transform: rotate(25deg);
font-size: 20px; font-size: 20px;
width: 20px; width: 20px;
height: 20px; height: 20px;
} }
} }
.a-upload{ .a-upload {
display: inline-block; display: inline-block;
position: absolute; position: absolute;
left: 0; left: 0;
@ -336,83 +334,94 @@
width: 100%; width: 100%;
height: 100%; height: 100%;
opacity: 0; opacity: 0;
input{ input {
width: 100%; width: 100%;
height: 100%; height: 100%;
cursor: pointer; cursor: pointer;
} }
} }
} }
span{ span {
display: inline-block; display: inline-block;
cursor: pointer; cursor: pointer;
color: #2196F3; color: #2196f3;
mat-icon{ mat-icon {
vertical-align: sub; vertical-align: sub;
font-size: 20px; font-size: 20px;
width: 20px; width: 20px;
height: 20px; height: 20px;
} }
} }
span:hover{ .state {
// text-decoration: underline; margin-right: 30px;
}
.state{
margin-right:30px;
} }
.submitAudit{ .submitAudit {
margin-right:30px; margin-right: 30px;
} }
.close{ .close {
margin-right: 30px; margin-right: 30px;
} }
.goback{
cursor: pointer;
display: flex;
align-items: center;
color: #2196f3;
img{
width: 14px;
height: 14px;
margin-right: 5px;
}
margin-right: 12px;
}
} }
} }
.contant{ .contant {
width: 100%; width: 100%;
height:460px; height: 460px;
overflow-y: auto; overflow-y: auto;
p{ p {
color: #2196F3; color: #2196f3;
background-color: #F2F4F6; background-color: #f2f4f6;
height: 33px; height: 33px;
line-height: 33px; line-height: 33px;
box-sizing: border-box; box-sizing: border-box;
padding-left: 20px; padding-left: 20px;
font-size: 15px; font-size: 15px;
} }
span{ span {
font-size: 15px; font-size: 15px;
} }
input,select{ input,
select {
height: 30px; height: 30px;
line-height: 30px; line-height: 30px;
box-sizing: border-box; box-sizing: border-box;
padding: 0 12px; padding: 0 12px;
width: 60%; width: 60%;
margin-left: 5px; margin-left: 5px;
border: 1px solid #EBEBEB; border: 1px solid #ebebeb;
border-radius: 5px; border-radius: 5px;
} }
textarea{ textarea {
width: 89%; width: 89%;
margin-left: 5px; margin-left: 5px;
height: 85%; height: 85%;
border: 1px solid #EBEBEB; border: 1px solid #ebebeb;
border-radius: 5px; border-radius: 5px;
} }
.longinput{ .longinput {
width: 74%; width: 74%;
} }
.unitDiv{ .unitDiv {
width: 60%; width: 60%;
position: relative; position: relative;
input,select{ input,
select {
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
padding-right: 50px; padding-right: 50px;
} }
.unit{ .unit {
position: absolute; position: absolute;
right: 13px; right: 13px;
top: 4px; top: 4px;
@ -420,14 +429,14 @@
opacity: 0.4; opacity: 0.4;
} }
} }
.smallwidth{ .smallwidth {
width: 30%; width: 30%;
} }
// 相关资料 // 相关资料
.fileDivBox{ .fileDivBox {
position: relative; position: relative;
float: left; float: left;
border: 1px solid #EBEBEB; border: 1px solid #ebebeb;
width: 160px; width: 160px;
height: 162px; height: 162px;
box-sizing: border-box; box-sizing: border-box;
@ -437,19 +446,19 @@
margin: 12px; margin: 12px;
align-items: center; align-items: center;
cursor: pointer; cursor: pointer;
.imgbox{ .imgbox {
width: 134px; width: 134px;
height: 110px; height: 110px;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
.thumbnailImg{ .thumbnailImg {
width: 134px; width: 134px;
height: 110px; height: 110px;
} }
} }
span{ span {
width: 100%; width: 100%;
text-align: center; text-align: center;
margin-top: 5px; margin-top: 5px;
@ -459,7 +468,7 @@
color: gray; color: gray;
font-size: 14px; font-size: 14px;
} }
.deleteFile{ .deleteFile {
position: absolute; position: absolute;
right: 0; right: 0;
top: 0; top: 0;
@ -468,54 +477,179 @@
font-size: 18px; font-size: 18px;
display: none; display: none;
} }
.btn{ .btn {
position: absolute; position: absolute;
height: 30px; height: 30px;
line-height: 30px; line-height: 30px;
font-size: 14px; font-size: 14px;
display: none; display: none;
} }
.btn1{ .btn1 {
top: 37px; top: 37px;
} }
.btn2{ .btn2 {
top: 78px; top: 78px;
} }
} }
.fileDivBox:hover{ .fileDivBox:hover {
border: 1px solid #000; border: 1px solid #000;
.deleteFile{ .deleteFile {
display: block; display: block;
} }
.deleteFile:hover{ .deleteFile:hover {
color: red; color: red;
} }
.btn{ .btn {
display: block; display: block;
} }
} }
//车辆头部
.cartopbox {
max-height: 200px;
box-sizing: border-box;
padding: 10px 22px;
.add {
height: 36px;
line-height: 36px;
display: flex;
justify-content: space-between;
margin-bottom: 5px;
}
.searchbox {
display: flex;
flex-wrap: wrap;
.inputbox {
width: 50%;
height: 40px;
font-size: 14px;
line-height: 40px;
margin: 5px 0;
display: flex;
justify-content: flex-end;
align-items: center;
span {
margin-right: 5px;
overflow: hidden; /*超出部分隐藏*/
white-space: nowrap; /*不换行*/
text-overflow: ellipsis; /*超出部分文字以...显示*/
}
select,
input {
height: 100%;
width: 85%;
background-color: #f2f4f6;
border: 0;
border-radius: 5px;
box-sizing: border-box;
padding: 0 8px;
}
.shortselect{
width: 68.5%;
}
.searchbtn{
margin-left: 20px;
}
.gray {
color: gray;
}
}
}
}
} }
.masklayer{ .carcontent{
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
.carList{
flex: 1;
overflow-y: auto;
box-sizing: border-box;
padding: 10px 22px;
border: 1px solid #F2F4F6;
table{
width: 100%;
border-spacing:0px;
tr{
height: 33px;
width: 100%;
td:nth-child(1){
width: 46%;
}
td:nth-child(2){
width: 26%;
}
td:nth-child(3){
width: 26%;
}
td:nth-child(4){
width: 2%;
display: flex;
align-items: center;
height: 33px;
}
td{
border: none;
.integrity {
height: 18px;
width: 95%;
position: relative;
background-color: #f2f4f6;
.integrityNum {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
color: black;
font-size: 13px;
cursor: default;
}
.integrityColorDiv {
height: 100%;
}
}
.deleteFile{
cursor: pointer;
}
}
.td1,.td2{
color: #2196F3;
}
}
.caritem:hover{
border: 0px;
cursor: default;
background-color: #d2eafd;
}
}
}
.pagingDevice{
width: 100%;
height: 40px;
}
}
.masklayer {
position: absolute; position: absolute;
left: 0; left: 0;
top: 0; top: 0;
z-index: 2000; z-index: 2000;
width: 100%; width: 100%;
height: 100%; height: 100%;
background: rgba(0,0,0,0.2); background: rgba(0, 0, 0, 0.2);
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
flex-direction: column; flex-direction: column;
span{ span {
font-size: 14px; font-size: 14px;
margin-top: 5px; margin-top: 5px;
} }
.progressbar{ .progressbar {
width: 15%; width: 15%;
} }
.cancelbtn{ .cancelbtn {
height: 32px; height: 32px;
line-height: 32px; line-height: 32px;
font-size: 14px; font-size: 14px;
@ -523,8 +657,8 @@
} }
} }
} }
.noHeight{ .noHeight {
.tabsbox{ .tabsbox {
margin-top: 10px; margin-top: 10px;
} }
height: 0px; height: 0px;
@ -532,34 +666,33 @@
} }
} }
.addWaterBox {
.addWaterBox{
width: 260px; width: 260px;
height: 284px; height: 284px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.topbox{ .topbox {
width: 100%; width: 100%;
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
background-color: #2196F3; background-color: #2196f3;
text-align: center; text-align: center;
color: #FFFFFF; color: #ffffff;
font-size: 15px; font-size: 15px;
} }
.contant{ .contant {
flex: 1; flex: 1;
box-sizing: border-box; box-sizing: border-box;
padding: 0 30px; padding: 0 30px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-around; justify-content: space-around;
div{ div {
width: 100%; width: 100%;
height: 36px; height: 36px;
line-height: 36px; line-height: 36px;
text-align: center; text-align: center;
background-color: #F2F4F6; background-color: #f2f4f6;
font-size: 14px; font-size: 14px;
cursor: pointer; cursor: pointer;
border: 1px solid #fff; border: 1px solid #fff;
@ -567,25 +700,25 @@
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
img{ img {
margin-right: 3px; margin-right: 3px;
} }
} }
.selectedDiv{ .selectedDiv {
background-color: #2196F3; background-color: #2196f3;
color: #fff; color: #fff;
border: 1px solid #2196F3; border: 1px solid #2196f3;
} }
} }
.btnbox{ .btnbox {
width: 100%; width: 100%;
height: 50px; height: 50px;
box-sizing: border-box; box-sizing: border-box;
padding: 0px 30px; padding: 0px 30px;
display: flex; display: flex;
align-items: flex-start;; align-items: flex-start;
justify-content: space-between; justify-content: space-between;
button{ button {
width: 80px; width: 80px;
height: 36px; height: 36px;
line-height: 36px; line-height: 36px;
@ -593,105 +726,107 @@
} }
} }
@media screen and (max-width: 1400px) {
@media screen and (max-width:1400px){ .box {
.box{
padding: 5px; padding: 5px;
font-size: 14px; font-size: 14px;
} }
.listbox{ .listbox {
width: 310px; width: 310px;
.contantbox{ .contantbox {
.waterList{ .waterList {
li{ li {
.address{ .address {
width: 50%; width: 50%;
} }
.integrity{ .integrity {
width: 36%; width: 36%;
} }
} }
} }
} }
} }
.mapbox{ .mapbox {
.mapcheckbox{ .mapcheckbox {
height: 30px; height: 30px;
line-height: 30px; line-height: 30px;
} }
#map{ #map {
.gistopbox{ .gistopbox {
width: 43%; width: 43%;
} }
} }
.detailsbox{ .detailsbox {
height:338px; height: 338px;
transition: height 0.5s; transition: height 0.5s;
.tabsbox{ .tabsbox {
// margin-top: 5px; // margin-top: 5px;
height: 38px; height: 38px;
line-height: 38px; line-height: 38px;
.tabs{ .tabs {
div{ div {
width: 90px; width: 90px;
} }
} }
.btnbox{ .btnbox {
.uploadAttachment{ .uploadAttachment {
margin-right: 12px; margin-right: 12px;
width: 80px; width: 80px;
button{ button {
mat-icon{ mat-icon {
display: none; display: none;
} }
} }
} }
.state{ .state {
margin-right:12px; margin-right: 12px;
} }
.submitAudit{ .submitAudit {
margin-right:12px; margin-right: 12px;
} }
.close{ .close {
margin-right: 12px; margin-right: 12px;
} }
} }
} }
.contant{ .contant {
height:300px; height: 300px;
p{ p {
padding-left: 20px; padding-left: 20px;
font-size: 14px; font-size: 14px;
} }
span{ span {
font-size: 14px; font-size: 14px;
} }
input,select{ input,
select {
width: 50%; width: 50%;
} }
textarea{ textarea {
width: 87%; width: 87%;
} }
.longinput{ .longinput {
width: 66%; width: 66%;
} }
.unitDiv{ .unitDiv {
width: 50%; width: 50%;
position: relative; position: relative;
} }
.setPositionBtn{ .setPositionBtn {
width:85px; width: 85px;
text-align: center; text-align: center;
margin-right: 8px; margin-right: 8px;
mat-icon{ mat-icon {
display: none; display: none;
} }
} }
} }
} }
.noHeight{ .noHeight {
.tabsbox{ .tabsbox {
margin-top: 10px; margin-top: 10px;
} }
height: 0px; height: 0px;

1077
src/app/data-collection/fire-force/fire-force.component.ts

File diff suppressed because it is too large Load Diff

4
src/app/export-excel/export-excel.component.ts

@ -17,11 +17,11 @@ export class ExportExcelComponent implements OnInit {
responseType: 'blob' as 'json' responseType: 'blob' as 'json'
}; };
this.http.get('/api/StatisticsAnalysis/ExportToExcel',httpOptions).subscribe((data:any) => { this.http.get('/api/StatisticsAnalysis/ExportToExcel',httpOptions).subscribe((data:any) => {
// // 文件名中有中文 则对文件名进行转码 // 文件名中有中文 则对文件名进行转码
const link = document.createElement('a'); const link = document.createElement('a');
const blob = new Blob([data], {type: 'application/vnd.ms-excel'}); const blob = new Blob([data], {type: 'application/vnd.ms-excel'});
link.setAttribute('href', window.URL.createObjectURL(blob)); link.setAttribute('href', window.URL.createObjectURL(blob));
link.setAttribute('download', '统计信息'+'.xlsx'); link.setAttribute('download', '统计信息'+'.xls');
link.style.visibility = 'hidden'; link.style.visibility = 'hidden';
document.body.appendChild(link); document.body.appendChild(link);
link.click(); link.click();

BIN
src/assets/images/goback.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 426 B

5
src/styles.scss

@ -2,6 +2,8 @@
@import './app/theme.scss'; @import './app/theme.scss';
@import "./app/ngZorroTree.css"; /* 引入组件样式 */ @import "./app/ngZorroTree.css"; /* 引入组件样式 */
// @import "~ng-zorro-antd/select/style/index.min.css"; /* 引入组件样式 */ // @import "~ng-zorro-antd/select/style/index.min.css"; /* 引入组件样式 */
@import "~ng-zorro-antd/style/index.min.css"; /* 引入基本样式 */
@import "~ng-zorro-antd/tree-select/style/index.min.css"; /* 引入组件样式 */
@font-face @font-face
{ {
font-family: Regular; font-family: Regular;
@ -336,3 +338,6 @@ td{
background: #666; background: #666;
} }
} }
.mat-paginator-container{
min-height: 40px!important;
}
Loading…
Cancel
Save