Browse Source

合并代码

dev
陈鹏飞 3 years ago
parent
commit
b9d1703781
  1. 2
      package-lock.json
  2. 18
      src/app/babylon/controller/serve-manager.ts
  3. 79
      src/app/pages/criminal-records/criminal-records.component.html
  4. 75
      src/app/pages/criminal-records/criminal-records.component.scss
  5. 28
      src/app/pages/criminal-records/criminal-records.component.ts
  6. 24
      src/app/pages/home/home.component.scss
  7. 3
      src/app/pages/plan/plan.component.ts
  8. 7
      src/app/pages/today-warning/today-warning.component.html
  9. 20
      src/app/pages/today-warning/today-warning.component.scss
  10. 19
      src/app/service/babylon/building-basic-infos.service.ts
  11. 8
      src/app/ui/title/title.component.html
  12. 34
      src/app/ui/title/title.component.scss
  13. 15
      src/app/ui/title/title.component.ts
  14. 5
      src/app/ui/ui.module.ts
  15. 14
      src/styles.scss
  16. 20
      src/theme.less

2
package-lock.json generated

@ -250,7 +250,7 @@
"dependencies": { "dependencies": {
"parse5": { "parse5": {
"version": "5.1.1", "version": "5.1.1",
"resolved": "https://registry.nlark.com/parse5/download/parse5-5.1.1.tgz", "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz?cache=0&sync_timestamp=1573036762880&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-5.1.1.tgz",
"integrity": "sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=", "integrity": "sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=",
"optional": true "optional": true
} }

18
src/app/babylon/controller/serve-manager.ts

@ -33,9 +33,9 @@ export class ServeManager {
) => void, onError?: (key: string, error: any) => void) { ) => void, onError?: (key: string, error: any) => void) {
this.buildingBISrv.getBuildingBasicInfos(key) this.buildingBISrv.getBuildingBasicInfos(key)
.subscribe(data => { .subscribe(data => {
console.log("获取结果" + key, (data as any).result);
if (onSuccess) { if (onSuccess) {
onSuccess(key, data); onSuccess(key, JSON.parse((data as any).result));
} }
}, error => { }, error => {
console.error("From serve" + key + "===" + error); console.error("From serve" + key + "===" + error);
@ -49,14 +49,14 @@ export class ServeManager {
saveInstitutionData(institutionData: any, key: string = 'test', onSuccess?: (key: string, saveInstitutionData(institutionData: any, key: string = 'test', onSuccess?: (key: string,
result: string result: string
) => void, onError?: (key: string, error: string) => void) { ) => void, onError?: (key: string, error: string) => void) {
let data = classToPlain(institutionData); let l_data = classToPlain(institutionData);
console.log("保存单位", data); console.log("保存单位", l_data);
this.buildingBISrv.postBuildingBasicInfos(key, data) this.buildingBISrv.postBuildingBasicInfos(key, l_data)
.subscribe(data => { .subscribe(data => {
ModeManager.log("保存单位成功:" + key); console.log("保存单位成功:" + key, l_data);
if (onSuccess) { if (onSuccess) {
onSuccess(key, data); onSuccess(key, data.result);
} }
if (key != "InsList") { if (key != "InsList") {
//ThreeDimensionalHomeComponent.instance.openSnackBar("保存单位成功"); //ThreeDimensionalHomeComponent.instance.openSnackBar("保存单位成功");
@ -96,7 +96,7 @@ export class ServeManager {
.subscribe(data => { .subscribe(data => {
ModeManager.log(data); ModeManager.log(data);
if (onSuccess) { if (onSuccess) {
onSuccess(institutionID, data); onSuccess(institutionID, JSON.parse((data as any).result));
} }
}, (error) => { }, (error) => {
if (error instanceof HttpErrorResponse) { if (error instanceof HttpErrorResponse) {
@ -133,7 +133,7 @@ export class ServeManager {
.subscribe(data => { .subscribe(data => {
ModeManager.log("保存标绘信息成功:" + allMarkPlanData.institutionID); ModeManager.log("保存标绘信息成功:" + allMarkPlanData.institutionID);
if (onSuccess) { if (onSuccess) {
onSuccess(allMarkPlanData.institutionID, data); onSuccess(allMarkPlanData.institutionID, data.result);
} }
// ThreeDimensionalHomeComponent.instance.openSnackBar("保存标绘信息成功"); // ThreeDimensionalHomeComponent.instance.openSnackBar("保存标绘信息成功");
// alert("保存标绘信息成功"); // alert("保存标绘信息成功");

79
src/app/pages/criminal-records/criminal-records.component.html

@ -1 +1,78 @@
<p>违规记录</p> <div class="recordsbox">
<div class="search">
<form nz-form [formGroup]="validateForm" class="login-form" (ngSubmit)="submitForm()">
<nz-form-item class="searchParams">
<nz-form-control>
<nz-select id="level" formControlName="level" nzPlaceHolder="请选择级别">
<nz-option nzValue="1" nzLabel="一级"></nz-option>
<nz-option nzValue="2" nzLabel="二级"></nz-option>
<nz-option nzValue="3" nzLabel="三级"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<nz-form-item class="searchParams">
<nz-form-control>
<nz-select id="type" formControlName="type" nzPlaceHolder="请选择事件类型">
<nz-option nzValue="1" nzLabel="一级"></nz-option>
<nz-option nzValue="2" nzLabel="二级"></nz-option>
<nz-option nzValue="3" nzLabel="三级"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<nz-form-item class="searchParams">
<nz-form-control>
<nz-select id="site" formControlName="site" nzPlaceHolder="请选择地点">
<nz-option nzValue="1" nzLabel="一级"></nz-option>
<nz-option nzValue="2" nzLabel="二级"></nz-option>
<nz-option nzValue="3" nzLabel="三级"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<nz-form-item class="searchParams">
<nz-form-control [nzSm]="16" [nzXs]="24">
<nz-date-picker id="datePicker" formControlName="datePicker" nzPlaceHolder="请选择时间"></nz-date-picker>
</nz-form-control>
</nz-form-item>
<nz-form-item class="btn">
<nz-form-control>
<button nz-button type="submit" class="submit"><i nz-icon [nzType]="'search'"></i>查询</button>
</nz-form-control>
</nz-form-item>
<nz-form-item class="btn">
<nz-form-control>
<button nz-button type="button" class="reset" (click)="resetForm($event)"><i nz-icon
[nzType]="'sync'"></i>重置</button>
</nz-form-control>
</nz-form-item>
</form>
</div>
<div class="content">
<div class="title">
<app-title></app-title>
</div>
<div class="chartsbox">
<div class="charts">
</div>
</div>
<div class="title">
<app-title></app-title>
</div>
<div class="tablebox">
<div class="table">
<div class="th">
</div>
<div class="tr">
</div>
</div>
</div>
</div>
</div>

75
src/app/pages/criminal-records/criminal-records.component.scss

@ -0,0 +1,75 @@
.recordsbox {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
.content {
flex: 1;
// background-image: radial-gradient(circle,#004078, #012b57, #00142f);
.title {
margin-bottom: 15px;
width: 100%;
height: 64px;
box-sizing: border-box;
padding: 0 28px;
}
.chartsbox{
width: 100%;
display: flex;
justify-content: center;
.charts{
width: 98%;
height: 300px;
border: 1px solid white;
}
}
}
.search {
box-sizing: border-box;
padding: 0 36px;
width: 100%;
height: 32px;
margin: 20px 0px;
form {
width: 100%;
height: 32px;
display: flex;
justify-content: space-around;
.searchParams {
width: 22%;
}
.btn {
width: 5%;
}
nz-select {
color: #fff;
}
nz-date-picker {
background-color: #002552;
width: 145%;
}
}
.submit {
background-color: #013064;
border: 1px solid #4c8ac8;
color: #86bff3;
}
.reset {
background-color: #010d26;
border: 1px solid #4c8ac8;
color: #86bff3;
}
}

28
src/app/pages/criminal-records/criminal-records.component.ts

@ -1,15 +1,37 @@
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
@Component({ @Component({
selector: 'app-criminal-records', selector: 'app-criminal-records',
templateUrl: './criminal-records.component.html', templateUrl: './criminal-records.component.html',
styleUrls: ['./criminal-records.component.scss'] styleUrls: ['./criminal-records.component.scss']
}) })
export class CriminalRecordsComponent implements OnInit { export class CriminalRecordsComponent implements OnInit {
validateForm!: FormGroup;
constructor() { } constructor(private fb: FormBuilder) { }
ngOnInit(): void { ngOnInit(): void {
this.validateForm = this.fb.group({
level: [null],
type: [null],
site: [null],
datePicker: [null]
});
}
submitForm(): void {
for (const i in this.validateForm.controls) {
this.validateForm.controls[i].markAsDirty();
this.validateForm.controls[i].updateValueAndValidity();
}
console.log(this.validateForm)
}
resetForm(e: MouseEvent): void {
e.preventDefault();
this.validateForm.reset();
for (const key in this.validateForm.controls) {
this.validateForm.controls[key].markAsPristine();
this.validateForm.controls[key].updateValueAndValidity();
}
} }
} }

24
src/app/pages/home/home.component.scss

@ -1,21 +1,21 @@
.box {
.box{
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
background: #01122e; background-image: radial-gradient(closest-side at 50% 55%,#03447c, #02325c, #002046);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
// overflow: hidden;
} }
.menu{
.menu {
height: 52px; height: 52px;
width: 100%; width: 100%;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
font-size: 17px; font-size: 17px;
li{
li {
width: 10%; width: 10%;
height: 52px; height: 52px;
line-height: 52px; line-height: 52px;
@ -26,11 +26,13 @@
} }
} }
.content{
.content {
flex: 1; flex: 1;
// background-image: radial-gradient(#004987,#03447c,#02325c,#012341,#01122e); overflow: hidden;
// background: red;
} }
.router-link-active{
background-image: linear-gradient(to right, #052D5A , #0B416F,#136B93,#1F7C93,#136B93,#0B416F,#052D5A); .router-link-active {
background-image: linear-gradient(to right, #052D5A, #0B416F, #136B93, #1F7C93, #136B93, #0B416F, #052D5A);
} }

3
src/app/pages/plan/plan.component.ts

@ -13,7 +13,7 @@ import { ObjectsService } from 'src/app/service/objects.service';
@Component({ @Component({
selector: 'app-plan', selector: 'app-plan',
templateUrl: './plan.component.html', templateUrl: './plan.component.html',
styleUrls: ['./plan.component.scss','./publicPop.scss'] styleUrls: ['./plan.component.scss', './publicPop.scss']
}) })
export class PlanComponent implements OnInit { export class PlanComponent implements OnInit {
@ -36,6 +36,7 @@ export class PlanComponent implements OnInit {
loginStatus.getInstitutionListFromServe((result: InsitutionDataSimple[], data: any) => { loginStatus.getInstitutionListFromServe((result: InsitutionDataSimple[], data: any) => {
if (ModeManager.institutionDemoKey == ModeManager.c_demoKey_null) { //无指定测试单位,则为正式启动,根据当前单位key寻找 if (ModeManager.institutionDemoKey == ModeManager.c_demoKey_null) { //无指定测试单位,则为正式启动,根据当前单位key寻找
let key = 'ceshi'; let key = 'ceshi';
console.log("获取数据", data);
let find = data.find(item => { return item.key === key }) let find = data.find(item => { return item.key === key })
if (find) { //如果在data中找到了对应的单位key,则表示已经有三维数据,直接进入 if (find) { //如果在data中找到了对应的单位key,则表示已经有三维数据,直接进入
console.log("找到已有单位" + key); console.log("找到已有单位" + key);

7
src/app/pages/today-warning/today-warning.component.html

@ -81,11 +81,8 @@
</div> </div>
<div nz-col nzSpan="2"> <div nz-col nzSpan="2">
<button nz-button (click)="showModal()">查看</button> <button nz-button (click)="showModal()">查看</button>
<nz-modal [nzBodyStyle]="{ background: 'red' }" nzWrapClassName="vertical-center-modal" [(nzVisible)]="isVisible" [nzMaskClosable]="false" (nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()" [nzFooter]="null"> <nz-modal nzWidth="1100" nzWrapClassName="vertical-center-modal" [(nzVisible)]="isVisible" (nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()" [nzFooter]="null">
<p>Content one</p>
<p>Content two</p>
<p>Content three</p>
<p>Content three</p>
</nz-modal> </nz-modal>
</div> </div>
</div> </div>

20
src/app/pages/today-warning/today-warning.component.scss

@ -84,10 +84,8 @@
.listbox { .listbox {
flex: 1; flex: 1;
overflow-y: auto; overflow-y: auto;
background-image: radial-gradient(#004987, #03447c, #02325c, #012341, #01122e);
box-sizing: border-box; box-sizing: border-box;
padding: 20px 47px 20px 39px; padding: 20px 47px 20px 39px;
.listitem { .listitem {
width: 100%; width: 100%;
height: 75px; height: 75px;
@ -110,12 +108,30 @@
} }
} }
//遮罩层
::ng-deep .vertical-center-modal { ::ng-deep .vertical-center-modal {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
::ng-deep .ant-modal-body {
background: #072549;
height: 660px;
padding: 5px;
// border: 1px solid #8eb9e3;
box-shadow: 0 0 3px #8eb9e3;
color: #fff;
}
::ng-deep .ant-modal-close-x {
width: 36px;
height: 36px;
line-height: 36px;
color: white;
}
::ng-deep .vertical-center-modal .ant-modal { ::ng-deep .vertical-center-modal .ant-modal {
top: 0; top: 0;
} }

19
src/app/service/babylon/building-basic-infos.service.ts

@ -7,6 +7,10 @@ import { catchError, retry } from 'rxjs/operators';
providedIn: 'root' providedIn: 'root'
}) })
export class BuildingBasicInfosService { export class BuildingBasicInfosService {
readonly c_get = "/Get";
readonly c_post = "/PostOrPut";
//获取单位信息的api //获取单位信息的api
baseUrl = 'api/Services/3D/BuildingBasicInfo'; baseUrl = 'api/Services/3D/BuildingBasicInfo';
@ -24,7 +28,7 @@ export class BuildingBasicInfosService {
* *
*/ */
getBuildingBasicInfos(name: string): Observable<string> { getBuildingBasicInfos(name: string): Observable<string> {
return this.http.get<string>(this.baseUrl + '/Get' + '?name=' + name); return this.http.get<string>(this.baseUrl + this.c_get + '?name=' + name);
} }
/** /**
* *
@ -32,7 +36,7 @@ export class BuildingBasicInfosService {
* @param data * @param data
*/ */
postBuildingBasicInfos(name: string, data: any): Observable<any> { postBuildingBasicInfos(name: string, data: any): Observable<any> {
return this.http.post<any>(this.baseUrl + '/PostOrPut' + '?name=' + name, data) return this.http.post<any>(this.baseUrl + this.c_post + '?name=' + name, data)
.pipe( .pipe(
catchError((err) => this.handleError(err)) catchError((err) => this.handleError(err))
); );
@ -45,7 +49,7 @@ export class BuildingBasicInfosService {
getMarkData(name: string): Observable<string> { getMarkData(name: string): Observable<string> {
// name = "bb"; // name = "bb";
let id = { "name": name }; let id = { "name": name };
return this.http.get<string>(this.markUrl, { params: id }).pipe( //'?name=' return this.http.get<string>(this.markUrl + this.c_get, { params: id }).pipe( //'?name='
catchError((err) => this.handleError(err)) catchError((err) => this.handleError(err))
); );
} }
@ -56,7 +60,7 @@ export class BuildingBasicInfosService {
* @param data * @param data
*/ */
postMarkData(name: string, data: any): Observable<any> { postMarkData(name: string, data: any): Observable<any> {
return this.http.post<any>(this.markUrl + '?name=' + name, data) return this.http.post<any>(this.markUrl + this.c_post + '?name=' + name, data)
.pipe( .pipe(
catchError((err) => this.handleError(err)) catchError((err) => this.handleError(err))
); );
@ -85,3 +89,10 @@ export class BuildingBasicInfosService {
error); error);
} }
} }
/**
*
*/
class HttpResult {
}

8
src/app/ui/title/title.component.html

@ -0,0 +1,8 @@
<div class="titlebox">
<img src="../../../assets/images/AnXinQQ.jpg" alt="">
<div class="content">
<div class="contentitem">
<span>违规类型统计</span>
</div>
</div>
</div>

34
src/app/ui/title/title.component.scss

@ -0,0 +1,34 @@
.titlebox {
width: 100%;
height: 100%;
display: flex;
align-items: center;
img {
max-width: 46px;
max-height: 46px;
}
.content {
flex: 1;
height: 46px;
display: flex;
align-items: center;
background-image: linear-gradient(to right, #002147, #033565, #064e8e, #064e8e, #033565, #002147);
.contentitem {
width: 100%;
height: 33px;
line-height: 33px;
background-image: linear-gradient(to right, #002147, #0f5ca0, #1c88e6, #1c88e6, #0f5ca0, #002147);
span {
margin-left: 20px;
color: #bce0ff;
font-size: 20px;
font-family: titlefont;
}
}
}
}

15
src/app/ui/title/title.component.ts

@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-title',
templateUrl: './title.component.html',
styleUrls: ['./title.component.scss']
})
export class TitleComponent implements OnInit {
constructor() { }
ngOnInit(): void {
}
}

5
src/app/ui/ui.module.ts

@ -18,8 +18,9 @@ import { PaginatorModule } from './paginator/paginator.module';
import { TabbarComponent } from './tabbar/tabbar.component'; import { TabbarComponent } from './tabbar/tabbar.component';
import { NzDropDownModule } from 'ng-zorro-antd/dropdown'; import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
import { TitleComponent } from './title/title.component';
@NgModule({ @NgModule({
declarations: [TabbarComponent,UserdataComponent, ChangepasswordComponent, IsnoPipe, ConfirmpswDirective, TimePipe, EditUser], declarations: [TabbarComponent,UserdataComponent, ChangepasswordComponent, IsnoPipe, ConfirmpswDirective, TimePipe, EditUser, TitleComponent],
imports: [ imports: [
CommonModule, CommonModule,
@ -37,7 +38,7 @@ import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
NzDropDownModule NzDropDownModule
], ],
exports:[TabbarComponent] exports:[TabbarComponent,TitleComponent]
}) })
export class UiModule { } export class UiModule { }

14
src/styles.scss

@ -3,14 +3,17 @@
font-family: titlefont; font-family: titlefont;
src: url("./assets/font-family/titlefont.TTF"); src: url("./assets/font-family/titlefont.TTF");
} }
@font-face { @font-face {
font-family: sybold; font-family: sybold;
src: url("./assets/font-family/sybold.OTF"); src: url("./assets/font-family/sybold.OTF");
} }
@font-face { @font-face {
font-family: synormal; font-family: synormal;
src: url("./assets/font-family/synormal.OTF"); src: url("./assets/font-family/synormal.OTF");
} }
html, html,
body { body {
width: 100%; width: 100%;
@ -18,7 +21,7 @@ body {
margin: 0 auto; margin: 0 auto;
padding: 0; padding: 0;
overflow: hidden; overflow: hidden;
font-family: synormal!important; font-family: synormal !important;
} }
ul, ul,
@ -101,10 +104,11 @@ h1 {
//滚动条样式 //滚动条样式
::-webkit-scrollbar { ::-webkit-scrollbar {
width: 5px; width: 10px;
background-color: white;
} }
::-webkit-scrollbar-thumb { ::-webkit-scrollbar-thumb {
background-color: #999; background-image: linear-gradient(#2495f8, #1c73c2,#0a3d6a, #061d3c);
}
::-webkit-scrollbar-track {
background-color: #061d3c;
} }

20
src/theme.less

@ -6,25 +6,27 @@
@border-color-base: #8aacce; @border-color-base: #8aacce;
@select-background:#002552; @select-background: #002552;
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector,.ant-picker,.ant-btn{ .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,
.ant-picker,
.ant-btn {
border-radius: 0px; border-radius: 0px;
} }
//日期选择器 //日期选择器
@input-placeholder-color: #8aacce; @input-placeholder-color: #8aacce;
.ant-picker-suffix{
.ant-picker-suffix {
color: #8aacce; color: #8aacce;
} }
.ant-picker-input > input{
.ant-picker-input>input {
color: #fff; color: #fff;
} }
//弹窗遮罩层 //弹窗遮罩层
.ant-modal-mask{ .ant-modal-mask {
background: rgba(0,0,0,0.05); background: rgba(0, 0, 0, 0.05);
}
.ant-modal-content{
box-shadow: 0px 0px 4px #fff;
} }
Loading…
Cancel
Save