邵佳豪 4 years ago
parent
commit
ba0a857fe1
  1. 2
      src/app/canvas-share-data.service.ts
  2. 21
      src/app/examiner/mark-papers-index/mark-papers-index.component.html
  3. 36
      src/app/examiner/mark-papers-index/mark-papers-index.component.ts
  4. 19
      src/app/examiner/mark-papers-two/mark-papers-two.component.html
  5. 40
      src/app/examiner/mark-papers-two/mark-papers-two.component.ts
  6. 1
      src/app/working-area/model/axImageShape.ts
  7. 101
      src/app/working-area/working-area.component.ts

2
src/app/canvas-share-data.service.ts

@ -38,7 +38,7 @@ export class CanvasShareDataService {
/**
*
*/
gameMode: GameMode = GameMode.Assignment;
gameMode: GameMode = GameMode.Examinee;
facilityAssetsName = new Map<string, string>([
[ '消防水池', '消防水池'],

21
src/app/examiner/mark-papers-index/mark-papers-index.component.html

@ -4,7 +4,7 @@
* @Author: sueRimn
* @Date: 2020-12-14 16:30:31
* @LastEditors: sueRimn
* @LastEditTime: 2020-12-14 17:39:30
* @LastEditTime: 2020-12-25 08:59:47
-->
<div class="content">
<div class="header">
@ -35,21 +35,22 @@
</thead>
<tbody>
<tr *ngFor="let item of dataSource">
<td>{{item.name}}</td>
<td>{{item.organization}}</td>
<td>{{item.startTime}}</td>
<td>{{item.overTime}}</td>
<td>{{item.title}}</td>
<td>广西总队</td>
<td>{{item.startTime|date:'yyyy-MM-dd HH:mm'}}</td>
<td>{{item.endTime|date:'yyyy-MM-dd HH:mm'}}</td>
<td >
<span id={{item.name}} style="color: #07CDCF;cursor: pointer;" (click)="markTwo(item.name)">阅卷</span>
<span id={{item.name}} style="color: #07CDCF;cursor: pointer;" (click)="markTwo(item.title,item.id)">阅卷</span>
</td>
</tr>
</tbody>
</table>
<mat-paginator [length]="100"
[pageSize]="10"
[pageSizeOptions]="[10]">
</mat-paginator>
<mat-paginator [length]="length"
[pageSize]="pageSize"
[pageSizeOptions]="pageSizeOptions"
(page)="chagePage($event)">
</mat-paginator>
</div>
</div>

36
src/app/examiner/mark-papers-index/mark-papers-index.component.ts

@ -4,7 +4,7 @@
* @Author: sueRimn
* @Date: 2020-12-14 16:30:31
* @LastEditors: sueRimn
* @LastEditTime: 2020-12-15 08:53:09
* @LastEditTime: 2020-12-25 09:00:41
*/
import { Component, OnInit, ViewChild, Inject } from '@angular/core';
import {HttpClient} from '@angular/common/http'
@ -36,19 +36,47 @@ export class MarkPapersIndexComponent implements OnInit {
constructor(private router: Router,private activatedRoute: ActivatedRoute,public http: HttpClient,public dialog: MatDialog,public snackBar: MatSnackBar) { }
ngOnInit(): void {
this.getAlltabledate()
}
dataSource = ELEMENT_DATA;
dataSource
markName//试卷名称
markDate//考试日期
//分页
@ViewChild(MatPaginator, {static: true})
pageEvent: PageEvent;
paginator: MatPaginator;
length:any; //共多少条数据
pageSize:any; //每页条数
pageSizeOptions: number[] = [10] //设置每页条数
PageNumber:any //第几页
//重置功能
resert(){
this.markName=undefined
this.markDate=undefined
}
//点击阅卷跳转
markTwo(e){
markTwo(e,id){
console.log(e)
this.router.navigate(['/home/mark-papers-index/mark-papers-two'],{queryParams:{'level':e}})
this.router.navigate(['/home/mark-papers-index/mark-papers-two'],{queryParams:{'level':e,'id':id}})
}
//获取表格信息
getAlltabledate(){
let paramsdata:any = {
PageNumber: this.PageNumber || '1',
PageSize: this.pageSizeOptions[0],
Sort: null,
SortType: null,
}
this.http.get("/api/Papers",{params:paramsdata}).subscribe((data:any)=>{
this.dataSource=data.items
this.length=data.totalCount
console.log(this.dataSource)
})
}
//分页事件
chagePage(e){
this.PageNumber = e.pageIndex+1
this.getAlltabledate()
}
}

19
src/app/examiner/mark-papers-two/mark-papers-two.component.html

@ -4,7 +4,7 @@
* @Author: sueRimn
* @Date: 2020-12-14 17:21:02
* @LastEditors: sueRimn
* @LastEditTime: 2020-12-15 09:21:32
* @LastEditTime: 2020-12-25 11:26:01
-->
<div class="content">
<div class="header">
@ -30,10 +30,10 @@
<tbody>
<tr *ngFor="let item of dataSource">
<td>{{item.name}}</td>
<td>{{item.organization}}</td>
<td>{{item.startTime}}</td>
<td [ngClass]="{'green': item.testState == '已阅卷','red':item.testState == '未阅卷'}">{{item.testState}}</td>
<td>{{item.mark}}</td>
<td>广西总队</td>
<td>{{item.endTime|date:'yyyy-MM-dd HH:mm'}}</td>
<td [ngClass]="{'green': item.isMarked == true,'red':item.isMarked == false}">{{item.isMarked== true?"已阅卷":"未阅卷"}}</td>
<td>90</td>
<td >
<span style="color: #01CFD5;">阅卷</span>
</td>
@ -41,10 +41,11 @@
</tbody>
</table>
<mat-paginator [length]="100"
[pageSize]="10"
[pageSizeOptions]="[10]">
</mat-paginator>
<mat-paginator [length]="length"
[pageSize]="pageSize"
[pageSizeOptions]="pageSizeOptions"
(page)="chagePage($event)">
</mat-paginator>
</div>
</div>

40
src/app/examiner/mark-papers-two/mark-papers-two.component.ts

@ -4,7 +4,7 @@
* @Author: sueRimn
* @Date: 2020-12-14 17:21:02
* @LastEditors: sueRimn
* @LastEditTime: 2020-12-15 09:16:29
* @LastEditTime: 2020-12-25 09:15:42
*/
import { Component, OnInit, ViewChild, Inject } from '@angular/core';
import {HttpClient} from '@angular/common/http'
@ -19,11 +19,6 @@ const ELEMENT_DATA = [
{name: "张三三", organization: '浦东支队', startTime: "2020-09-19 10:00", mark: '120',testState:'未阅卷'},
{name: "提亚马特", organization: '黄埔支队', startTime: "2020-09-19 10:00", mark: '100',testState:'已阅卷'},
{name: "艾泽拉斯", organization: '徐汇支队', startTime: "2020-09-19 10:00", mark: '90',testState:'已阅卷'},
/* {name: "", organization: '', startTime: "2020-09-19 10:00", overTime: '2020-09-19 12:00',testState:''},
{name: "立新加油站", organization: '浦东支队', startTime: "2020-09-19 10:00", overTime: '2020-09-19 12:00',testState:'开考中'},
{name: "富华酒店", organization: '宝山支队', startTime: "2020-07-19 10:00", overTime: '2020-07-19 12:00',testState:'已结束'},
{name: "裕达国际酒店", organization: '浦东支队', startTime: "2020-08-19 10:00", overTime: '2020-08-19 12:00',testState:'已结束'},
{name: "锦德大酒店", organization: '长宁支队', startTime: "2019-09-19 10:00", overTime: '2019-09-19 12:00',testState:'已结束'}, */
];
@Component({
@ -38,12 +33,43 @@ export class MarkPapersTwoComponent implements OnInit {
ngOnInit(): void {
this.activatedRoute.queryParams.subscribe(param=>{
this.headtext=param.level
this.getid=param.id
//console.log(headName)
});
this.getAlltabledate()
}
headtext
dataSource = ELEMENT_DATA;
getid//试卷id
dataSource
markName//试卷名称
markDate//考试日期
//分页
@ViewChild(MatPaginator, {static: true})
pageEvent: PageEvent;
paginator: MatPaginator;
length:any; //共多少条数据
pageSize:any; //每页条数
pageSizeOptions: number[] = [10] //设置每页条数
PageNumber:any //第几页
//获取表格信息
getAlltabledate(){
let paramsdata:any = {
PaperId:this.getid,
PageNumber: this.PageNumber || '1',
PageSize: this.pageSizeOptions[0],
Sort: null,
SortType: null,
}
this.http.get("/api/Examinations",{params:paramsdata}).subscribe((data:any)=>{
this.dataSource=data.items
this.length=data.totalCount
console.log(this.dataSource)
})
}
//分页事件
chagePage(e){
this.PageNumber = e.pageIndex+1
this.getAlltabledate()
}
}

1
src/app/working-area/model/axImageShape.ts

@ -407,6 +407,7 @@ export class AxImageShape extends AxShape {
IsFromBuilding : this.workingArea.canvasData.selectTemplateData.isFromBuilding,
GameMode: this.workingArea.canvasData.gameMode,
LinkedObjects: new Array(this.assetData.Id),
Tag: this.workingArea.canvasData.selectTemplateData.tag
};
this.workingArea.paintingShape = new AxArrowConnector(tempData, this.workingArea,false,true);
this.assetData.Pipelines.push(this.workingArea.paintingShape.assetData.Id);

101
src/app/working-area/working-area.component.ts

@ -277,7 +277,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
this.previewImage.position = this.backgroundImage.toLocal(this.mousePosition);
}
if (this.backgroundImage !== null) {
if (this.circleShadow !== null && this.backgroundImage !== null) {
this.circleShadow.position = this.backgroundImage.toLocal(this.mousePosition);
this.refreshPreviewLineSegment(this.currentClickPoint.position, this.circleShadow.position);
}
@ -402,7 +402,16 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
}
this.canvasData.selectPanelPoint.Data.Stock[obj.assetData.Id] = obj.assetData;
} else if (obj.assetData.GameMode === GameMode.Examinee) { // 考生考试
// this.canvasData.examOriginaleveryStoreyData.data[obj.assetData.Id] = obj.assetData;
console.log(obj.assetData.Tag)
if (obj.assetData.Tag === 1) {
this.canvasData.examOriginaleveryStoreyData.data[obj.assetData.Id] = obj.assetData;
} else {
if (this.canvasData.selectPanelPoint.Data === undefined
|| this.canvasData.selectPanelPoint.Data === null) {
this.canvasData.selectPanelPoint.Data = new FloorNodeData();
}
this.canvasData.selectPanelPoint.Data.Stock[obj.assetData.Id] = obj.assetData;
}
}
this.canvasData.isChange = true;
});
@ -479,30 +488,53 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
// * 刷新工作区
// */
public async refresh() {
this.setPaintMode(PaintMode.endPaint);
this.resetCanvas();
this.destroyBackgroundImage();
if (!this.canvasData.selectStorey.imageUrl) {
this.loadExamineeData();
// this.setPaintMode(PaintMode.endPaint);
// this.resetCanvas();
// this.destroyBackgroundImage();
// if (!this.canvasData.selectStorey.imageUrl) {
return;
}
// return;
// }
await this.createBackgroundImage(this.canvasData.selectStorey.imageUrl);
this.createFloorShape(this.canvasData.originaleveryStoreyData.data);
if (this.canvasData.gameMode === GameMode.Assignment) {
this.createNodeShape(this.canvasData.selectPanelPoint.Data);
// await this.createBackgroundImage(this.canvasData.selectStorey.imageUrl);
// this.createFloorShape(this.canvasData.originaleveryStoreyData.data);
// if (this.canvasData.gameMode === GameMode.Assignment) {
// this.createNodeShape(this.canvasData.selectPanelPoint.Data);
// }
}
/**
*
*/
public loadExamineeData() {
this.createBackground();// 创建背景图
this.refreshBackgroundImage();// 刷新背景图
this.processinghiddenData();// 处理数据
this.createFloorShape(this.canvasData.originaleveryStoreyData.data);// 基本信息
this.createFloorShape(this.canvasData.examOriginaleveryStoreyData.data);// 考生信息
this.createNodeShape(this.canvasData.selectPanelPoint.Data);// 处置节点
}
/**
*
*/
public processinghiddenData() {
for (let key1 in this.canvasData.originaleveryStoreyData.data){
for (let key2 in this.canvasData.hiddenBasicInfoFacilities){
if (this.canvasData.originaleveryStoreyData.data[key1].Id==this.canvasData.hiddenBasicInfoFacilities[key2].Id) {
delete this.canvasData.originaleveryStoreyData.data[key1];
}
}
}
// await this.createBackground(this.canvasData.selectStorey.imageUrl);
}
/**
*
*/
public async createBackground(imageUrl:string) {
public createBackground() {
if (this.backgroundImage !== null) {
this.destroyBackgroundImage();
this.backgroundImage.destroy();
this.backgroundImage = null;
}
await this.createBackgroundImage(imageUrl)
this.createBackgroundImage()
}
/**
*
@ -630,19 +662,16 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
/**
*
*/
public async createBackgroundImage(imageUrl: string): Promise<void> {
const image = await PIXI.Texture.fromURL(imageUrl);
this.backgroundImage = new PIXI.Sprite(image);
public createBackgroundImage(){
this.backgroundImage = PIXI.Sprite.from('assets/images/noImg.png')
this.backgroundImage.anchor.set(0.5);
this.backgroundImage.x = this.app.view.width / 2;
this.backgroundImage.y = this.app.view.height / 2;
this.backgroundImage.interactive = true;
this.backgroundImage.name = 'background';
this.backgroundImage.angle = this.canvasData.selectStorey.imageAngle;
// const left = this.init.element.nativeElement.querySelector('.functionalDomainLeft').clientWidth;
// const right = this.init.element.nativeElement.querySelector('.functionalDomainRight').clientWidth;
const imageWidth = this.backgroundImage.texture.width;
const imageHeight = this.backgroundImage.texture.height;
const imageWidth = 665;
const imageHeight = 530;
const appWidth = this.app.view.width - 470;
const appHeight = this.app.view.height;
@ -698,7 +727,8 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
DrawMode : this.canvasData.selectTemplateData.drawMode,
Thickness : this.canvasData.selectTemplateData.thickness,
IsFromBuilding : this.canvasData.selectTemplateData.isFromBuilding,
GameMode : this.canvasData.gameMode
GameMode: this.canvasData.gameMode,
Tag: this.canvasData.selectTemplateData.tag
};
const singleIcon = new AxImageShape(assetData, this);
this.emit('createIcon', singleIcon);
@ -745,7 +775,8 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
DrawMode: this.canvasData.selectTemplateData.drawMode,
Thickness: this.canvasData.selectTemplateData.thickness,
IsFromBuilding: this.canvasData.selectTemplateData.isFromBuilding,
GameMode: this.canvasData.gameMode
GameMode: this.canvasData.gameMode,
Tag: this.canvasData.selectTemplateData.tag
};
// const assetData1 = {
// ImageUrl: this.canvasData.selectTemplateData.imageUrl,
@ -830,7 +861,8 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
DrawMode: this.canvasData.selectTemplateData.drawMode,
Thickness: this.canvasData.selectTemplateData.thickness,
IsFromBuilding: this.canvasData.selectTemplateData.isFromBuilding,
GameMode: this.canvasData.gameMode
GameMode: this.canvasData.gameMode,
Tag: this.canvasData.selectTemplateData.tag
};
if (this.canvasData.selectTemplateData.name === '距离') {
this.paintingShape = new AxArrowConnector(assetData2, this,true,true);
@ -934,14 +966,23 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV
/**
*
*/
public refreshBackgroundImage(): void {
public async refreshBackgroundImage(): Promise<void> {
if (!this.canvasData.selectStorey.imageUrl) {
this.backgroundImage.visible = false;
} else {
this.backgroundImage.texture = PIXI.Texture.from(this.canvasData.selectStorey.imageUrl);
this.backgroundImage.texture = await PIXI.Texture.fromURL(this.canvasData.selectStorey.imageUrl);
const imageWidth = this.backgroundImage.texture.width;
const imageHeight = this.backgroundImage.texture.height;
const appWidth = this.app.view.width - 470;
const appHeight = this.app.view.height;
const wScale = appWidth / imageWidth;
const hScale = appHeight / imageHeight;
const scale = wScale < hScale? wScale: hScale;
this.backgroundImage.scale.set(scale);
this.backgroundImage.angle = this.canvasData.selectStorey.imageAngle;
this.backgroundImage.visible = true;
// this.refresh();
}
}
/**

Loading…
Cancel
Save