考核考试系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

342 lines
18 KiB

<div class="content">
<!-- header头部 -->
<div class="header">
<div class="headerTitle">{{examMsg.conpanyName}}</div>
<div class="headerCenter">
<div *ngIf="planData" class="mainPointDiv">
<span [title]="planData.mainPoint">考试要点 : {{planData.mainPoint}}</span>
</div>
</div>
<div class="headerRight" *ngIf="paperType == 0">
<button style="border: 1px solid #07CDCF; border-radius: 5px; margin: 0 15px;" (click)='lookAnswerDiv()'>
<mat-icon>visibility</mat-icon>
查看答案
</button>
<button (click)="score()">
<mat-icon>description</mat-icon>评分
</button>
<button (click)="submitScore()">
<mat-icon>open_in_browser</mat-icon>提交
</button>
</div>
<div class="headerRight" *ngIf="paperType != 0" style="text-align: right; padding-right: 30px;">
<button style="border: 1px solid #07CDCF; border-radius: 5px;" (click)='openFireExamination()'>
<mat-icon>visibility</mat-icon>
查看消防设施
</button>
</div>
</div>
<!-- header头部 -->
<!--功能区 -->
<div class="functionalDomain">
<div class='functionalDomainContent' id="functionalDomainContent">
<!-- H5Canvas -->
<app-working-area #canvas [init]='this'></app-working-area>
<!-- H5Canvas -->
<!-- 天气 -->
<div class="weatherBox">
<span class="name">天气</span>
<input disabled class="weatherInput" [(ngModel)]="weatherData.weather" type="text" placeholder="最多输入10字节" maxlength="10">
<span class="name">气温</span>
<div style="display: inline-block;position: relative;">
<input disabled [(ngModel)]="weatherData.airTemperature" style="width: 60px;" type="number" value="0"
oninput="if(value.length>2)value=value.slice(0,2)">
<span style="position: absolute;right: 16px;top: 2px;color: #9c9fa5;"></span>
</div>
<span class="name">风力</span>
<select disabled class="weatherSelect" [(ngModel)]="weatherData.windScale">
<option value="0">0(无风)</option>
<option value="1">1(软风)</option>
<option value="2">2(轻风)</option>
<option value="3">3(微风)</option>
<option value="4">4(和风)</option>
<option value="5">5(清风)</option>
<option value="6">6(强风)</option>
</select>
<span class="name">风向</span>
<select disabled class="weatherSelect" [(ngModel)]="weatherData.windDirection">
<option value="0"></option>
<option value="1">西</option>
<option value="2"></option>
<option value="3"></option>
<option value="4">东南</option>
<option value="5">西南</option>
<option value="6">东北</option>
<option value="7">西北</option>
</select>
</div>
<!-- 拖拽窗口 -->
<div (mousewheel)="$event.stopPropagation()" class="centerBuildingDiv" style="user-select: none;" cdkDrag>
<div class="centerTotal">
<div class="centerTotalHeader overflowText">
<mat-icon cdkDragHandle matTooltip="可移动窗口" matTooltipPosition="above" class="above">open_with</mat-icon>
<label (click)='togglebeforeOneCheckedBuilding()'>
{{beforeOneCheckedBuilding.name}}
<mat-icon *ngIf="beforeOneCheckedBuildingIsShow">keyboard_arrow_up</mat-icon>
<mat-icon *ngIf="!beforeOneCheckedBuildingIsShow">keyboard_arrow_down</mat-icon>
</label>
</div>
<div class="everyTotal overflowText" *ngFor="let item of sitePlanData;let key = index"
[ngClass]="{'selectSitePlan': selectSitePlanIndex==key,'selectSitePlanColor':item.isLabel}"
(click)='selectSitePlan(item,key)'>
{{item.name}}
</div>
</div>
<div style="width: 5px;height: 100%;opacity: 0;" [hidden]="!beforeOneCheckedBuildingIsShow"></div>
<div class="centerTotal" [hidden]="!beforeOneCheckedBuildingIsShow">
<div class="everyTotal" (click)="checkedBuilding({name:'总平面图'},-1)"
[ngClass]="{'buildingbtnchecked': checkedBuildingIndex==-1}">总平面图</div>
<div class="everyTotal overflowText" *ngFor="let item of allBuildings;let key = index"
(click)="checkedBuilding(item,key)" [ngClass]="{'buildingbtnchecked': checkedBuildingIndex==key}">
{{item.name}}
</div>
</div>
</div>
<!-- 查看答案拖拽窗口 -->
<div (mousewheel)="$event.stopPropagation()" class="answerDivDrag" style="user-select: none;" cdkDrag
*ngIf="answerDivDrag">
<div>
<nz-tree *ngIf="answertreeData.length != 0" nzExpandAll #nzTreeComponent [nzData]="answertreeData" nzBlockNode
[nzTreeTemplate]="nzTreeTemplate"></nz-tree>
<ng-template #nzTreeTemplate let-node let-origin="origin">
<div id="terrNodePublic" (click)='selectanelPoint(node.origin,0)'
[ngClass]="{'selectanelPoint': selectDisposalNode==node.origin.id}">
<label title="{{node.title}}" class="overflowText textNode">{{node.title}}</label>
</div>
</ng-template>
</div>
</div>
<div (mousewheel)="$event.stopPropagation()" id="leftDiv"
class='functionalDomainLeft publicCss scenarioAssignment' [ngClass]="{'togglePanel': toggleExpandPanel==true}"
style="user-select: none;">
<!-- 处置预案 -->
<div class="handlePlan">
<div class="planarGraphHeader" (click)='toggleHandlePlan()'>
<mat-icon *ngIf="toggleHandlePlans">keyboard_arrow_up</mat-icon>
<mat-icon *ngIf="!toggleHandlePlans">keyboard_arrow_down</mat-icon>
<label class="overflowText" style="font-weight: 550;">处置预案</label>
</div>
<div [hidden]="!toggleHandlePlans">
<div class="questionsBox" style="padding-left: 10px;box-sizing: border-box;">
<p style="font-size: 15px;">考试题目</p>
<nz-tree *ngIf="questionstreeData.length != 0" nzExpandAll #nzTreeComponent [nzData]="questionstreeData"
nzBlockNode [nzTreeTemplate]="nzTreeTemplate"></nz-tree>
<ng-template #nzTreeTemplate let-node let-origin="origin">
<div id="terrNodePublic" (click)='selectanelPoint(node.origin,0)'
[ngClass]="{'selectanelPoint': selectDisposalNode==node.origin.id}">
<label title="{{node.title}}" class="overflowText textNode">{{node.title}}</label>
</div>
</ng-template>
</div>
<mat-divider style="margin: 5px 0 8px 0;"></mat-divider>
<div class="answerDiv" style="padding-left: 10px;box-sizing: border-box;">
<p style="font-size: 15px;">考生答案</p>
<nz-tree #nzTreeComponent2 [nzData]="treeData" nzBlockNode [nzTreeTemplate]="nzTreeTemplate2"
[nzExpandedKeys]="defaultExpandedKeys"></nz-tree>
<ng-template #nzTreeTemplate2 let-node let-origin="origin">
<div id="terrNodePublic" (click)='selectanelPoint(node.origin,1)'
[ngClass]="{'selectanelPoint': selectDisposalNode==node.origin.id}">
<label title="{{node.title}}" class="overflowText textNode">{{node.title}}</label>
</div>
</ng-template>
</div>
</div>
</div>
<!-- 处置预案 -->
<!-- 消防设施 -->
<div class="planarGraph" id="readbasictree">
<div class="planarGraphHeader" (click)='togglePlanarGraph()'>
<mat-icon *ngIf="togglePlane">keyboard_arrow_up</mat-icon>
<mat-icon *ngIf="!togglePlane">keyboard_arrow_down</mat-icon>
<label class="overflowText" style="font-weight: 550;">消防设施</label>
</div>
<div [hidden]="!togglePlane" *ngIf="renderData.length != 0">
<!-- 消防列表树 -->
<nz-tree #nzTreeComponent [nzData]="renderData" nzExpandAll nzMultiple
[nzTreeTemplate]="nzTreeTemplateBasic">
</nz-tree>
<ng-template #nzTreeTemplateBasic let-node let-origin="origin">
<div class="treeNodeTemplate">
<label class="overflowText textNode">{{node.origin.name || node.origin.Name}}</label>
<span class="isLookCss" (click)="clickLookItem(node)">
<mat-icon [ngClass]="{'icongray': node.origin.isLook == false}">visibility</mat-icon>
</span>
</div>
</ng-template>
<!-- 消防列表树 -->
</div>
</div>
<!-- 消防设施 -->
</div>
<div (mousewheel)="$event.stopPropagation()" id="rightDiv" class="functionalDomainRight publicCss "
[ngClass]="{'togglePanel2': toggleExpandPanelRight==true}" style="user-select: none;">
<!-- 右侧div鼠标拖动div -->
<div style="width: 3px;height: 100%;position: absolute;left: 0;cursor: e-resize;z-index: 1000;"
(mousedown)="rightDivMouseDown($event)"></div>
<!-- 属性 -->
<div id="property" class="property" style="height: 100%;background-color: white;">
<div class="titleS">
<mat-icon>info</mat-icon>属性
</div>
<!-- 平面图属性 -->
<div class="siteproperty" style="user-select: none" *ngIf="isShowProperty && isShowAttribute">
<p>面积(平方米)</p>
<div class="siteproperty_size">{{canvasData.selectStorey.area}}</div>
<p>详情</p>
<div class="siteproperty_size">
{{canvasData.selectStorey.details}}
</div>
</div>
<!-- 素材属性 -->
<div class="assetsproperty" style="user-select: none" *ngIf="isShowProperty && !isShowAttribute">
<h3 style="text-align: center;font-weight: 900;">{{assetName}}</h3>
<div *ngIf="canvasAssetObj.InteractiveMode == 0">
<p>宽度(像素)</p>
<input type="text" class="biginput" [(ngModel)]="assetWidth" disabled>
<p>高度(像素)</p>
<input type="text" class="biginput" [(ngModel)]="assetHeight" disabled>
<p>角度</p>
<div style="width: 100%;display: flex;vertical-align: top;height: 22px;">
<input type="number" class="smallinput" [(ngModel)]="sliderValue"
oninput="if(value>360)value=360;if(value<0)value=0;" disabled>
<mat-slider color="primary" min="0" max="360" step="1" style="bottom: 12px;left: 2px;width: 70%;"
[(ngModel)]="sliderValue" disabled></mat-slider>
</div>
</div>
<!-- 如果是多点连线 -->
<div *ngIf="canvasAssetObj.InteractiveMode == 1">
<p>厚度</p>
<div style="width: 100%;display: flex;vertical-align: top;height: 22px;">
<input type="number" class="smallinput" [(ngModel)]="sliderValueThickness"
oninput="if(value>999)value=999;if(value<0)value=0;" disabled>
<mat-slider color="primary" min="0" max="999" step="1" style="bottom: 12px;left: 2px;width: 70%;"
[(ngModel)]="sliderValueThickness" disabled></mat-slider>
</div>
</div>
<!-- <p style="margin-top: 4px;margin-bottom: 0px;">是否高亮</p>
<div>
<input class="input" [(ngModel)]="isHighLight" type="checkbox" disabled>
<span style="font-size: 14px;">选中高亮</span>
</div> -->
<div class="colorBigDiv" *ngIf="canvasAssetObj.FillMode == 0">
<div class="colorBigTemplateDiv">
<span>颜色</span>
<div class="colorTemplateDiv" [style]="{'background-color':selectedcolor}">
</div>
</div>
<!-- <span style="color: #9c9fa5;font-size: 14px;">透明度</span>
<mat-slider color="primary" min="0" max="100%" step="1" style="left: 1px; width: 55%;min-width: 90px;"
disabled></mat-slider>
<span style="color: #9c9fa5;font-size: 12px;">{{colorDivSliderValue}}%</span> -->
</div>
<div *ngFor="let item of PropertyInfos;index as key ">
<!-- 单行文本 -->
<div *ngIf="item.PropertyType == 0">
<p>{{item.PropertyName}}<span style="font-size: 14px;"
*ngIf="item.PhysicalUnit">({{item.PhysicalUnit}})</span></p>
<input type="text" class="biginput" [value]="item.PropertyValue" disabled>
</div>
<!-- 多行文本 -->
<div *ngIf="item.PropertyType == 1">
<p>{{item.PropertyName}}<span style="font-size: 14px;"
*ngIf="item.PhysicalUnit">({{item.PhysicalUnit}})</span></p>
<textarea class="textarea" name="" id="" [value]="item.PropertyValue" disabled></textarea>
</div>
<!-- 数值 -->
<div *ngIf="item.PropertyType == 2">
<p>{{item.PropertyName}}<span style="font-size: 14px;"
*ngIf="item.PhysicalUnit">({{item.PhysicalUnit}})</span></p>
<input type="number" class="biginput" [value]="item.PropertyValue" disabled>
</div>
<!-- 图片数量 -->
<div *ngIf="item.PropertyType == 4" style="height: 140px;">
<div style="position: relative;width: 100%;height: 21px;margin: 1px 0;">
<p style="width: 40%;display: inline-block;">{{item.PropertyName}}</p>
<span style="width: 26%;text-align:right;font-size: 13px;">{{imagesArr.length ? imagesArr.length : 0}}
/ {{item.PropertyValue}}</span>
<input disabled *ngIf="isImgNumCss" accept="image/*" type="file"
style="width: 33%;position: absolute;right: 10px;top: 1px;opacity: 0;z-index: 100;cursor: pointer;height: 21px;">
<div
style="position: relative;;width: 89%;border:1px solid rgb(208, 211, 214);height: 100px;margin: 6px auto;"
class="swiper-container">
<div id="viewerjs" class="swiper-wrapper" [ngClass]="{'noImgCss': imagesArr.length == 0}">
<div class="swiper-slide" style="text-align: center;" *ngFor="let img of imagesArr"><img
[src]="img.PropertyValue + '?x-oss-process=image/resize,m_fixed,h_100,w_100'" alt=""
[attr.data-original]="img.PropertyValue"></div>
</div>
<!-- 如果需要导航按钮 -->
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>
</div>
</div>
<!-- 方向 -->
<div *ngIf="item.PropertyType == 5" class="selectDiv">
<p style="display: inline-block;">{{item.PropertyName}}</p>
<select disabled>
<option value="0" [selected]="item.PropertyValue ==0"></option>
<option value="1" [selected]="item.PropertyValue ==1">西</option>
<option value="2" [selected]="item.PropertyValue ==2"></option>
<option value="3" [selected]="item.PropertyValue ==3"></option>
<option value="4" [selected]="item.PropertyValue ==4">东南</option>
<option value="5" [selected]="item.PropertyValue ==5">西南</option>
<option value="6" [selected]="item.PropertyValue ==6">东北</option>
<option value="7" [selected]="item.PropertyValue ==7">西北</option>
</select>
</div>
<!-- 布尔值 是1或否0 -->
<div *ngIf="item.PropertyType == 6">
<p>{{item.PropertyName}}</p>
<input disabled [checked]="item.PropertyValue == 1" class="input" type="radio"
name="radio"><span></span>
<input disabled [checked]="item.PropertyValue == 0" class="input" type="radio"
name="radio"><span></span>
</div>
<!-- 供给区域 -->
<div *ngIf="item.PropertyType == 7" class="selectDiv">
<p style="display: inline-block;">{{item.PropertyName}}</p>
<select disabled>
<option value="0" [selected]="item.PropertyValue ==0">全部</option>
<option value="1" [selected]="item.PropertyValue ==1">高区</option>
<option value="2" [selected]="item.PropertyValue ==2">中区</option>
<option value="3" [selected]="item.PropertyValue ==3">低区</option>
<option value="4" [selected]="item.PropertyValue ==4">高中区</option>
<option value="5" [selected]="item.PropertyValue ==5">高低区</option>
<option value="6" [selected]="item.PropertyValue ==6">中低区</option>
</select>
</div>
<!-- 供给类型 -->
<div *ngIf="item.PropertyType == 8" class="selectDiv">
<p style="display: inline-block;">{{item.PropertyName}}</p>
<select value="4">
<option value="0" [selected]="item.PropertyValue ==0">消火栓</option>
<option value="1" [selected]="item.PropertyValue ==1">喷淋</option>
<option value="2" [selected]="item.PropertyValue ==2">水幕</option>
<option value="3" [selected]="item.PropertyValue ==3">泡沫</option>
<option value="4" [selected]="item.PropertyValue ==4">消防</option>
</select>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!--功能区 -->
</div>