Browse Source

[新增]适配北京展厅

beijing
邵佳豪 1 year ago
parent
commit
b7c4b58d00
  1. 20848
      package-lock.json
  2. 17
      src/app/pages/home/home.component.html
  3. 37
      src/app/pages/home/home.component.ts
  4. 8
      src/app/pages/login/login.component.html
  5. 386
      src/app/pages/login/login.component.ts
  6. 123
      src/app/pages/records/records-nav/records-nav.component.ts
  7. 6
      src/app/pages/today-warning-admin/today-warning-admin.component.html
  8. 4
      src/app/system-management/organization/organization.component.html
  9. 51
      src/app/system-management/organization/organization.component.ts
  10. 312
      yarn.lock

20848
package-lock.json generated

File diff suppressed because it is too large Load Diff

17
src/app/pages/home/home.component.html

@ -3,7 +3,7 @@
<div class="boxleft">
<img *ngIf="isProd" src="../../../assets/images/logo2.png" alt="">
</div>
<div class="libox" *ngIf="!isGasStationNav">
<!-- <div class="libox" *ngIf="!isGasStationNav">
<li *ngFor="let item of menuList1" (click)="routerChange(item)"
[ngClass]="{'router-link-active': item.name == selectedItem}">
{{item.name}}
@ -21,8 +21,13 @@
{{item.name}}
</li>
</ng-template>
</div> -->
<div class="libox">
<li *ngFor="let item of menubeijing" (click)="routerChange(item)"
[ngClass]="{'router-link-active': item.name == selectedItem}">
{{item.name}}
</li>
</div>
<!-- 登录信息按钮 -->
<div class="boxright">
@ -66,13 +71,13 @@
<li *ngIf="isGasStation" nz-menu-item (click)="navChange('/oliStationInfo')">基本信息</li>
<li *ngIf="isGasStation" nz-menu-item (click)="navChange('/equipmentInfo')">器材信息</li>
<li nz-menu-item (click)="changePassword()">修改密码</li>
<li *ngIf="xitongguanli" nz-menu-item (click)="navChange2()">系统管理</li>
<li nz-menu-item (click)="navChange2()">系统管理</li>
<li nz-menu-item (click)="signOut()">退出系统</li>
</ul>
</nz-dropdown-menu>
<span style="margin: 0 12px;" *ngIf="isGasStationBack">|</span>
<img style="cursor: pointer;" *ngIf="isGasStationBack" src="../../../assets/images/goback.png" alt=""
(click)="goback()">
<!-- <span style="margin: 0 12px;" *ngIf="isGasStationBack">|</span> -->
<!-- <img style="cursor: pointer;" *ngIf="isGasStationBack" src="../../../assets/images/goback.png" alt=""
(click)="goback()"> -->
</div>
</div>

37
src/app/pages/home/home.component.ts

@ -93,6 +93,14 @@ export class HomeComponent implements OnInit {
{ name: "资产类证照管理", url: "/system/fileOfLicense" },
{ name: "菜单管理", url: "/system/menu" },
];
menubeijing = [
// { name: "首页", url: "/homepage" },
// { name: "数字油站", url: "/plan" },
{ name: "今日预警", url: "/todaywarning" },
{ name: "预警记录", url: "/records_nav" },
// { name: "证照管理", url: "/audit" },
];
xitongguanli = false;
userMenu = [];
tap = [];
@ -119,6 +127,8 @@ export class HomeComponent implements OnInit {
ngOnInit(): void {
this.isProd = this.patternService.isProd;
this.location.subscribe((event) => {
console.log("走这里了吗???????????????????????");
if (event.url == "/homepage") {
sessionStorage.setItem("selectedMenu", "首页");
this.selectedItem = "首页";
@ -671,19 +681,20 @@ export class HomeComponent implements OnInit {
}
}
navChange2() {
for (let index = 0; index < this.menu3.length; index++) {
for (let k = 0; k < this.tap.length; k++) {
if (this.tap[k] == this.menu3[index].name) {
this.menuList2.push(this.menu3[index]);
}
}
}
if (this.menuList2.length == 0) {
this.message.create("warning", "未分配系统管理菜单");
return;
} else {
window.open(this.menuList2[0].url);
}
// for (let index = 0; index < this.menu3.length; index++) {
// for (let k = 0; k < this.tap.length; k++) {
// if (this.tap[k] == this.menu3[index].name) {
// this.menuList2.push(this.menu3[index]);
// }
// }
// }
// if (this.menuList2.length == 0) {
// this.message.create("warning", "未分配系统管理菜单");
// return;
// } else {
// window.open(this.menuList2[0].url);
// }
window.open("/system/organization");
}
goback() {
this.router.navigate(["/plan"]);

8
src/app/pages/login/login.component.html

@ -1,7 +1,7 @@
<div class="login" id="login">
<div class="card">
<h1 class="cardheader">欢迎登录</h1>
<h1 class="cardheader">加油站智能安全管理系统</h1>
<h1 class="cardheader">智能识别管理系统</h1>
<form nz-form [formGroup]="validateForm" class="login-form" (ngSubmit)="submitForm()">
<nz-form-item>
@ -38,12 +38,12 @@
<button [nzLoading]="isLoading" nz-button class="login-form-button login-form-margin"
[nzType]="'primary'">登录</button>
</form>
<p *ngIf="isProd" class="company">中化石油销售有限公司 北京安信科创软件有限公司 版权所有</p>
<p *ngIf="isProd" class="company">北京安信科创软件有限公司 版权所有</p>
</div>
<div class="name">
<!-- <div class="name">
<img *ngIf="isProd" src="../../../assets/images/logo2.png" alt="">
</div>
</div> -->
</div>

386
src/app/pages/login/login.component.ts

@ -1,29 +1,45 @@
import { Component, OnInit, ViewContainerRef } from '@angular/core';
import { HttpClient } from '@angular/common/http'
import { Router, ActivatedRoute } from '@angular/router'
import { CacheTokenService } from '../../service/cache-token.service'//引入服务
import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
import { NzMessageService } from 'ng-zorro-antd/message';
import { Base64 } from 'js-base64';
import { NzNotificationService } from 'ng-zorro-antd/notification';
import { NzSafeAny } from 'ng-zorro-antd/core/types';
import { SelectedMenu } from 'src/app/service/selectedMenu.service';
import { NzModalService } from 'ng-zorro-antd/modal';
import { ForgetComponent } from './forget/forget.component';
import { PatternService } from 'src/app/service/pattern.service';
import { Component, OnInit, ViewContainerRef } from "@angular/core";
import { HttpClient } from "@angular/common/http";
import { Router, ActivatedRoute } from "@angular/router";
import { CacheTokenService } from "../../service/cache-token.service"; //引入服务
import {
AbstractControl,
FormBuilder,
FormGroup,
Validators,
} from "@angular/forms";
import { NzMessageService } from "ng-zorro-antd/message";
import { Base64 } from "js-base64";
import { NzNotificationService } from "ng-zorro-antd/notification";
import { NzSafeAny } from "ng-zorro-antd/core/types";
import { SelectedMenu } from "src/app/service/selectedMenu.service";
import { NzModalService } from "ng-zorro-antd/modal";
import { ForgetComponent } from "./forget/forget.component";
import { PatternService } from "src/app/service/pattern.service";
// import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';
declare var abp: any
declare var abp: any;
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.scss']
selector: "app-login",
templateUrl: "./login.component.html",
styleUrls: ["./login.component.scss"],
})
export class LoginComponent implements OnInit {
validateForm!: FormGroup;
passwordValidateForm!: FormGroup;
constructor(private http: HttpClient, private router: Router, private route: ActivatedRoute, public token: CacheTokenService, private fb: FormBuilder, private message: NzMessageService, private notificationService: NzNotificationService, private selectedMenu: SelectedMenu, private modal: NzModalService, private viewContainerRef: ViewContainerRef, private patternService: PatternService) {
constructor(
private http: HttpClient,
private router: Router,
private route: ActivatedRoute,
public token: CacheTokenService,
private fb: FormBuilder,
private message: NzMessageService,
private notificationService: NzNotificationService,
private selectedMenu: SelectedMenu,
private modal: NzModalService,
private viewContainerRef: ViewContainerRef,
private patternService: PatternService
) {
const { password } = MyValidators;
this.validateForm = this.fb.group({
userName: [null, [Validators.required]],
@ -34,224 +50,256 @@ export class LoginComponent implements OnInit {
this.passwordValidateForm = this.fb.group({
oldpassword: [null, [Validators.required]],
newpassword: [null, [Validators.required, password]],
affirmpassword: [null, [Validators.required, password]]
affirmpassword: [null, [Validators.required, password]],
});
}
isProd: boolean
isProd: boolean;
ngOnInit() {
this.isProd = this.patternService.isProd
this.isProd = this.patternService.isProd;
//如果本地储存了账号密码信息,那就回显在输入框
let account = localStorage.getItem('account')
let password = localStorage.getItem('password')
let account = localStorage.getItem("account");
let password = localStorage.getItem("password");
if (account && password) {
this.validateForm.patchValue({
userName: Base64.decode(localStorage.getItem('account')),
password: Base64.decode(localStorage.getItem('password'))
userName: Base64.decode(localStorage.getItem("account")),
password: Base64.decode(localStorage.getItem("password")),
});
this.remember = true //这一步是回显后让勾选框为选中状态
this.remember = true; //这一步是回显后让勾选框为选中状态
}
//自动登录
if (localStorage.getItem('isautologin') == 'true') {
this.submitForm()
this.autologin = true //这一步是回显后让勾选框为选中状态
if (localStorage.getItem("isautologin") == "true") {
this.submitForm();
this.autologin = true; //这一步是回显后让勾选框为选中状态
}
}
errmsg: string = ''; //错误信息
errmsg: string = ""; //错误信息
//跳转注册页面
toRegister() {
this.router.navigate(['/register'])
this.router.navigate(["/register"]);
}
//记住密码
rememberInfo() {
// 判断用户是否勾选记住密码,如果勾选,在本地储存中储存登录信息
if (this.remember) {
localStorage.setItem("account", Base64.encode(this.validateForm.value.userName))
localStorage.setItem("password", Base64.encode(this.validateForm.value.password))
localStorage.setItem(
"account",
Base64.encode(this.validateForm.value.userName)
);
localStorage.setItem(
"password",
Base64.encode(this.validateForm.value.password)
);
}
}
//自动登录
autoLogin() {
if (this.autologin) {
localStorage.setItem("isautologin", 'true')
localStorage.setItem("isautologin", "true");
}
}
remember: any//记住密码
autologin: any//自动登录
remember: any; //记住密码
autologin: any; //自动登录
isLoading = false;
messages
encryptedAccessToken
messages;
encryptedAccessToken;
menu1 = [
{ name: '首页', url: '/homepage' },
{ name: '数字油站', url: '/plan' },
{ name: '今日预警', url: '/todaywarning' },
{ name: '预警记录', url: '/records_nav' },
{ name: '证照管理', url: '/audit' },
]
{ name: "首页", url: "/homepage" },
{ name: "数字油站", url: "/plan" },
{ name: "今日预警", url: "/todaywarning" },
{ name: "预警记录", url: "/records_nav" },
{ name: "证照管理", url: "/audit" },
];
menu2 = [
{ name: '数字油站', url: '/plan/petrolStation' },
{ name: '今日预警', url: '/todaywarning/petrolStation' },
{ name: '预警记录', url: '/records_nav/petrolStation' },
{ name: '证照管理', url: '/license/petrolStation' },
]
init3D
{ name: "数字油站", url: "/plan/petrolStation" },
{ name: "今日预警", url: "/todaywarning/petrolStation" },
{ name: "预警记录", url: "/records_nav/petrolStation" },
{ name: "证照管理", url: "/license/petrolStation" },
];
init3D;
async getGasStationBaseInfo() {
await new Promise((resolve, reject) => {
let params = { organizationUnitId: (JSON.parse(sessionStorage.getItem('userdataOfgasstation'))).organization.id }
this.http.get('/api/services/app/GasStation/Get', { params: params }).subscribe((data: any) => {
resolve(data.result)
let params = {
organizationUnitId: JSON.parse(
sessionStorage.getItem("userdataOfgasstation")
).organization.id,
};
this.http
.get("/api/services/app/GasStation/Get", { params: params })
.subscribe((data: any) => {
resolve(data.result);
sessionStorage.setItem("3dSceneData", JSON.stringify(data.result))
this.init3D = data.result.hasBuildingInfo
})
})
sessionStorage.setItem("3dSceneData", JSON.stringify(data.result));
this.init3D = data.result.hasBuildingInfo;
});
});
}
submitForm(): void {
if (!this.remember) {
localStorage.removeItem("account")
localStorage.removeItem("password")
localStorage.removeItem("account");
localStorage.removeItem("password");
}
if (!this.autologin) {
localStorage.removeItem("isautologin")
localStorage.removeItem("isautologin");
}
for (const i in this.validateForm.controls) {
this.validateForm.controls[i].markAsDirty();
this.validateForm.controls[i].updateValueAndValidity();
}
if (!this.validateForm.valid) {
this.message.create('error', `请输入账号密码`);
return
this.message.create("error", `请输入账号密码`);
return;
}
this.isLoading = true;
this.http.post('/api/TokenAuth/Authenticate', {
userNameOrEmailAddress: this.validateForm.value.userName,
password: this.validateForm.value.password
}).subscribe(
(data: any) => {
sessionStorage.setItem("token", data.result.accessToken);
sessionStorage.setItem("encryptedAccessToken", data.result.encryptedAccessToken);
this.http.get('/api/services/app/Session/GetCurrentLoginInformations').subscribe(async (data: any) => {
console.log('GetCurrentLoginInformations', data.result)
if (data.result.user.menus.length == 0) {
this.message.create('error', `当前用户未分配菜单`);
this.isLoading = false
return
}
this.http
.post("/api/TokenAuth/Authenticate", {
userNameOrEmailAddress: this.validateForm.value.userName,
password: this.validateForm.value.password,
})
.subscribe(
(data: any) => {
sessionStorage.setItem("token", data.result.accessToken);
sessionStorage.setItem(
"encryptedAccessToken",
data.result.encryptedAccessToken
);
this.http
.get("/api/services/app/Session/GetCurrentLoginInformations")
.subscribe(
async (data: any) => {
console.log("GetCurrentLoginInformations", data.result);
// if (data.result.user.menus.length == 0) {
// this.message.create('error', `当前用户未分配菜单`);
// this.isLoading = false
// return
// }
sessionStorage.setItem('userdata', JSON.stringify(data.result.user))
sessionStorage.setItem('userdataOfgasstation', JSON.stringify(data.result.user))
sessionStorage.setItem('isDefaultPassword', JSON.stringify(data.result.user.isDefaultPassword))
sessionStorage.setItem('isPasswordExpired', JSON.stringify(data.result.user.isPasswordExpired))
this.isLoading = false;
if (!data.result.user.organization) {
this.message.create('error', `当前用户没有组织机构信息`);
return
}
if (data.result.user.organization.isGasStation) {
await this.getGasStationBaseInfo()
if (data.result.user.menus[0].name == "数字油站" && data.result.user.menus.length == 1 && !this.init3D) {
this.message.create('error', `当前用户油站未开通3D且仅分配油站菜单`);
return
}
}
//记住密码
this.rememberInfo()
//自动登录
this.autoLogin()
sessionStorage.setItem(
"userdata",
JSON.stringify(data.result.user)
);
sessionStorage.setItem(
"userdataOfgasstation",
JSON.stringify(data.result.user)
);
sessionStorage.setItem(
"isDefaultPassword",
JSON.stringify(data.result.user.isDefaultPassword)
);
sessionStorage.setItem(
"isPasswordExpired",
JSON.stringify(data.result.user.isPasswordExpired)
);
this.isLoading = false;
// if (!data.result.user.organization) {
// this.message.create('error', `当前用户没有组织机构信息`);
// return
// }
// if (data.result.user.organization.isGasStation) {
// await this.getGasStationBaseInfo()
// if (data.result.user.menus[0].name == "数字油站" && data.result.user.menus.length == 1 && !this.init3D) {
// this.message.create('error', `当前用户油站未开通3D且仅分配油站菜单`);
// return
// }
// }
//记住密码
this.rememberInfo();
//自动登录
this.autoLogin();
if (data.result.user.organization.isGasStation) {
sessionStorage.setItem("isGasStation", 'true');
let a = sessionStorage.getItem('userdataOfgasstation')
let menuList = this.returnLastMenus(a, this.menu2)
let isTrue = menuList.find((item) => {
return item.name == "今日预警"
});
if (isTrue) {
this.router.navigate(['/todaywarning/petrolStation'])
sessionStorage.setItem('selectedMenu', '今日预警')
} else if (data.result.user.menus[0].name == "数字油站" && !this.init3D) {
this.router.navigate([menuList[1].url])
sessionStorage.setItem('selectedMenu', menuList[1].name)
} else if (menuList.length == 0) {
return this.message.create('warning', `当前用户未分配菜单`);
} else {
this.router.navigate([menuList[0].url])
sessionStorage.setItem('selectedMenu', menuList[0].name)
}
} else {
sessionStorage.setItem("isGasStation", 'false');
let a = sessionStorage.getItem('userdata')
let menuList = this.returnLastMenus(a, this.menu1)
let isTrue = menuList.find((item) => {
return item.name == "首页"
});
if (menuList.length == 0) {
// if (data.result.user.organization.isGasStation) {
// sessionStorage.setItem("isGasStation", 'true');
// let a = sessionStorage.getItem('userdataOfgasstation')
// let menuList = this.returnLastMenus(a, this.menu2)
// let isTrue = menuList.find((item) => {
// return item.name == "今日预警"
// });
// if (isTrue) {
// this.router.navigate(['/todaywarning/petrolStation'])
// sessionStorage.setItem('selectedMenu', '今日预警')
// } else if (data.result.user.menus[0].name == "数字油站" && !this.init3D) {
// this.router.navigate([menuList[1].url])
// sessionStorage.setItem('selectedMenu', menuList[1].name)
// } else if (menuList.length == 0) {
// return this.message.create('warning', `当前用户未分配菜单`);
// } else {
// this.router.navigate([menuList[0].url])
// sessionStorage.setItem('selectedMenu', menuList[0].name)
// }
// } else {
// sessionStorage.setItem("isGasStation", 'false');
// let a = sessionStorage.getItem('userdata')
// let menuList = this.returnLastMenus(a, this.menu1)
// let isTrue = menuList.find((item) => {
// return item.name == "首页"
// });
// if (menuList.length == 0) {
return this.message.create('warning', `当前用户未分配菜单`);
// return this.message.create('warning', `当前用户未分配菜单`);
}
if (isTrue) {
this.router.navigate(['/homepage'])
sessionStorage.setItem('selectedMenu', '首页')
} else {
this.router.navigate([menuList[0].url])
sessionStorage.setItem('selectedMenu', menuList[0].name)
}
//
// }
// if (isTrue) {
// this.router.navigate(['/homepage'])
// sessionStorage.setItem('selectedMenu', '首页')
// } else {
// this.router.navigate([menuList[0].url])
// sessionStorage.setItem('selectedMenu', menuList[0].name)
// }
// //
}
this.message.create('success', `登录成功`);
}, err => {
// }
this.router.navigate(["/todaywarning"]);
this.message.create("success", `登录成功`);
},
(err) => {
this.isLoading = false;
}
);
},
(err) => {
this.isLoading = false;
})
},
(err) => {
this.isLoading = false;
// this.message.create('error', err.error.error.details);
}
)
// this.message.create('error', err.error.error.details);
}
);
}
returnLastMenus(data, originalMenus) {
let userMenu = JSON.parse(data).menus
let tap = []
let menuList = []
let userMenu = JSON.parse(data).menus;
let tap = [];
let menuList = [];
for (let index = 0; index < userMenu.length; index++) {
let a = userMenu[index].name
tap.push(a)
let a = userMenu[index].name;
tap.push(a);
}
for (let index = 0; index < originalMenus.length; index++) {
for (let k = 0; k < tap.length; k++) {
if (tap[k] == originalMenus[index].name) {
menuList.push(originalMenus[index])
menuList.push(originalMenus[index]);
}
}
}
return menuList
return menuList;
}
forget() {
// this.message.create('warning', `请联系管理员`);
this.modal.create({
nzTitle: '忘记密码',
nzTitle: "忘记密码",
nzContent: ForgetComponent,
nzViewContainerRef: this.viewContainerRef,
nzWidth: 288,
nzComponentParams: {},
nzFooter: null
nzFooter: null,
});
}
}
export type MyErrorsOptions = { 'zh-cn': string; en: string } & Record<string, NzSafeAny>;
export type MyErrorsOptions = { "zh-cn": string; en: string } & Record<
string,
NzSafeAny
>;
export type MyValidationErrors = Record<string, MyErrorsOptions>;
export class MyValidators extends Validators {
static password(control: AbstractControl): MyValidationErrors | null {
@ -261,14 +309,24 @@ export class MyValidators extends Validators {
return null;
}
return isPassword(value) ? null : { mobile: { 'zh-cn': `长度至少 8 位,必须包含大写字母、小写字母、数字、符号四种中的三种`, en: `Password phone number is not valid` } };
return isPassword(value)
? null
: {
mobile: {
"zh-cn": `长度至少 8 位,必须包含大写字母、小写字母、数字、符号四种中的三种`,
en: `Password phone number is not valid`,
},
};
}
}
function isEmptyInputValue(value: NzSafeAny): boolean {
return value == null || value.length === 0;
}
function isPassword(value: string): boolean {
return typeof value === 'string' && /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]{8,99}$/.test(value);
return (
typeof value === "string" &&
/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]{8,99}$/.test(
value
)
);
}

123
src/app/pages/records/records-nav/records-nav.component.ts

@ -1,80 +1,83 @@
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { IsShowEchartsService } from 'src/app/service/isShowEcharts.service';
import {Location} from "@angular/common";
import { Component, OnInit } from "@angular/core";
import { Router } from "@angular/router";
import { IsShowEchartsService } from "src/app/service/isShowEcharts.service";
import { Location } from "@angular/common";
@Component({
selector: 'app-records-nav',
templateUrl: './records-nav.component.html',
styleUrls: ['./records-nav.component.scss']
selector: "app-records-nav",
templateUrl: "./records-nav.component.html",
styleUrls: ["./records-nav.component.scss"],
})
export class RecordsNavComponent implements OnInit {
constructor(
private router: Router,
private isShowEcharts: IsShowEchartsService,
private location: Location
) {}
constructor(private router: Router, private isShowEcharts: IsShowEchartsService,private location: Location) { }
isEcharts = true
menuList = ['预警类型统计', '卸油统计', '证照预警统计']
tap=[]
userMenu = []
menu=[]
selectedMenu
isEcharts = true;
menuList = ["预警类型统计", "卸油统计", "证照预警统计"];
tap = [];
userMenu = [];
menu = ["预警类型统计"];
selectedMenu = "预警类型统计";
ngOnInit(): void {
let a= sessionStorage.getItem('userdata')
this.userMenu=JSON.parse(a).menus
console.log(this.userMenu);
for (let index = 0; index < this.userMenu.length; index++) {
let a=this.userMenu[index].name
this.tap.push(a)
}
console.log(this.tap);
if (this.userMenu.length==0) {
this.menu=this.menuList
}else{
for (let index = 0; index < this.menuList.length; index++) {
for (let k = 0; k < this.tap.length; k++) {
if (this.tap[k]==this.menuList[index]) {
this.menu.push(this.tap[k])
console.log( this.menu);
}
}
}
}
this.selectedMenu = this.menu[0]
this.routerChange()
// let a= sessionStorage.getItem('userdata')
// this.userMenu=JSON.parse(a).menus
// console.log('this.userMenu',this.userMenu);
// for (let index = 0; index < this.userMenu.length; index++) {
// let a=this.userMenu[index].name
// this.tap.push(a)
// }
// console.log(this.tap);
// if (this.userMenu.length==0) {
// this.menu=this.menuList
// }else{
// for (let index = 0; index < this.menuList.length; index++) {
// for (let k = 0; k < this.tap.length; k++) {
// if (this.tap[k]==this.menuList[index]) {
// this.menu.push(this.tap[k])
// console.log( this.menu);
// }
// }
// }
// }
// this.selectedMenu = this.menu[0]
this.routerChange();
}
selectMenu(item) {
if (this.selectedMenu == item) {
return
return;
}
this.isEcharts = true
this.selectedMenu = item
this.routerChange()
this.isEcharts = true;
this.selectedMenu = item;
this.routerChange();
}
routerChange() {
if (sessionStorage.getItem('isGasStation') == 'false') {
if (this.selectedMenu == '预警类型统计') {
this.router.navigate(['/records_nav/all'])
} else if (this.selectedMenu == '卸油统计') {
this.router.navigate(['/records_nav/oliunloadinglist'])
} else if (this.selectedMenu == '证照预警统计') {
this.router.navigate(['/records_nav/warningstatisticslist'])
if (sessionStorage.getItem("isGasStation") == "false") {
if (this.selectedMenu == "预警类型统计") {
this.router.navigate(["/records_nav/all"]);
} else if (this.selectedMenu == "卸油统计") {
this.router.navigate(["/records_nav/oliunloadinglist"]);
} else if (this.selectedMenu == "证照预警统计") {
this.router.navigate(["/records_nav/warningstatisticslist"]);
}
} else {
if (this.selectedMenu == '预警类型统计') {
this.router.navigate(['/records_nav/petrolStation/all'])
} else if (this.selectedMenu == '卸油统计') {
this.router.navigate(['/records_nav/petrolStation/oliunloadinglist'])
} else if (this.selectedMenu == '证照预警统计') {
this.router.navigate(['/records_nav/petrolStation/warningstatisticslist'])
if (this.selectedMenu == "预警类型统计") {
this.router.navigate(["/records_nav/petrolStation/all"]);
} else if (this.selectedMenu == "卸油统计") {
this.router.navigate(["/records_nav/petrolStation/oliunloadinglist"]);
} else if (this.selectedMenu == "证照预警统计") {
this.router.navigate([
"/records_nav/petrolStation/warningstatisticslist",
]);
}
}
}
}

6
src/app/pages/today-warning-admin/today-warning-admin.component.html

@ -61,12 +61,12 @@
<nz-form-control>
<nz-select [nzMaxTagCount]="1" nzMode="multitagsple" nzAllowClear id="area" formControlName="area"
nzPlaceHolder="预警区域">
<nz-option nzValue="出入口" nzLabel="出入口"></nz-option>
<!-- <nz-option nzValue="出入口" nzLabel="出入口"></nz-option>
<nz-option nzValue="加油区" nzLabel="加油区"></nz-option>
<nz-option nzValue="油罐区" nzLabel="油罐区"></nz-option>
<nz-option nzValue="便利店" nzLabel="便利店"></nz-option>
<nz-option nzValue="便利店" nzLabel="便利店"></nz-option> -->
<nz-option nzValue="办公区" nzLabel="办公区"></nz-option>
<nz-option nzValue="其他区域" nzLabel="其他区域"></nz-option>
<!-- <nz-option nzValue="其他区域" nzLabel="其他区域"></nz-option> -->
</nz-select>
</nz-form-control>
</nz-form-item>

4
src/app/system-management/organization/organization.component.html

@ -28,10 +28,8 @@
<div class="nodebox">
<span class="name">
{{ node.title }}
<span *ngIf="!node.origin.isGasStation">({{node.origin.products? node.origin.products.stationsCount :
0}})</span>
</span>
<span class="operation" *ngIf="level === 1">
<span class="operation">
<span (click)="addOr(node)" *ngIf="!node.origin.isGasStation">新增</span>
<span (click)="waring(node)" *ngIf="node.origin.isGasStation">配置预警事件</span>
<span (click)="editOr(node)">编辑</span>

51
src/app/system-management/organization/organization.component.ts

@ -38,11 +38,11 @@ export class OrganizationComponent implements OnInit {
private viewContainerRef: ViewContainerRef
) {}
level: number; //当前登录账号的组织机构等级
// level: number; //当前登录账号的组织机构等级
ngOnInit(): void {
this.level = JSON.parse(
sessionStorage.getItem("userdata")
).organization.level;
// this.level = JSON.parse(
// sessionStorage.getItem("userdata")
// ).organization.level;
this.validateForm = this.fb.group({
search: [null],
});
@ -62,7 +62,7 @@ export class OrganizationComponent implements OnInit {
totalCount: string;
allOrList: any;
organization: any;
isLoading = false;
getAllOrganization() {
this.isLoading = true;
@ -80,44 +80,13 @@ export class OrganizationComponent implements OnInit {
params: params,
})
.subscribe((data: any) => {
this.organization = data.result.items;
this.getStationsNum(data.result.items);
this.totalCount = data.result.totalCount;
});
}
//获得组织机构下有多少油站
stationsList;
getStationsNum(e) {
let OrganizationUnitId =
sessionStorage.getItem("isGasStation") == "true"
? JSON.parse(sessionStorage.getItem("userdataOfgasstation"))
.organization.id
: JSON.parse(sessionStorage.getItem("userdata")).organization.id;
this.http
.get(
"/api/services/app/GasStation/GetCountsByOrganizations?IsContainsChildren=true"
)
.subscribe((data: any) => {
this.stationsList = data.result;
const arrs = e.map((item) => {
const data = this.stationsList.find(
(i) => item.id == i.organizationId
);
return {
...item,
products: data ? data : false,
};
console.log(data.result.items);
data.result.items.forEach((element) => {
element.title = element.displayName;
element.key = element.id;
});
for (let index = 0; index < arrs.length; index++) {
if (arrs[index].id == OrganizationUnitId) {
arrs[index].parentId = null;
}
arrs[index].title = arrs[index].displayName;
arrs[index].key = arrs[index].id;
arrs[index].selectable = false;
}
this.nodes = [...this.toTree.toTree(arrs)];
this.nodes = [...this.toTree.toTree(data.result.items)];
this.defaultExpandedKeys.length == 0
? (this.defaultExpandedKeys = [this.nodes[0].id])
: (this.defaultExpandedKeys = [...this.defaultExpandedKeys]);

312
yarn.lock

@ -121,7 +121,7 @@
"ora" "5.4.1"
"rxjs" "6.6.7"
"@angular/animations@^13.0.1", "@angular/animations@^13.3.11", "@angular/animations@>=6.0.0 <10.0.0", "@angular/animations@13.3.11":
"@angular/animations@^13.3.11":
"integrity" "sha512-KE/3RuvixHIk9YTSwaUsezsUm9Ig9Y8rZMpHOT/8bRtzPiJ5ld2GnDHjrJgyZn7TdoP4wz4YCta5eC4ycu+KCw=="
"resolved" "https://registry.npmmirror.com/@angular/animations/-/animations-13.3.11.tgz"
"version" "13.3.11"
@ -162,14 +162,14 @@
"symbol-observable" "4.0.0"
"uuid" "8.3.2"
"@angular/common@^12.2.8", "@angular/common@^13.0.0 || ^14.0.0-0", "@angular/common@^13.0.1", "@angular/common@^6.0.0-rc.0 || >=6.0.0", "@angular/common@^9.0.5", "@angular/common@>=5.0.0", "@angular/common@>=6.0.0 <10.0.0", "@angular/common@>=6.0.0 <9 || ^9.0.0-0", "@angular/common@~13.3.11", "@angular/common@13.3.11":
"@angular/common@~13.3.11":
"integrity" "sha512-gPMwDYIAag1izXm2tRQ6EOIx9FVEUqLdr+qYtRVoQtoBmfkoTSLGcpeBXqqlPVxVPbA6Li1WZZT5wxLLlLAN+Q=="
"resolved" "https://registry.npmmirror.com/@angular/common/-/common-13.3.11.tgz"
"version" "13.3.11"
dependencies:
"tslib" "^2.3.0"
"@angular/compiler-cli@^13.0.0", "@angular/compiler-cli@^13.0.0 || ^13.3.0-rc.0", "@angular/compiler-cli@~13.3.11":
"@angular/compiler-cli@~13.3.11":
"integrity" "sha512-cl+3Wzxt8NRi2WY+RdsxuQ3yQRUp8pSlfSlJJnfaKE1BEqap6uem2DovuhnIbmrLhxZ5xt7o+I1szyO6sn6+ag=="
"resolved" "https://registry.npmmirror.com/@angular/compiler-cli/-/compiler-cli-13.3.11.tgz"
"version" "13.3.11"
@ -185,7 +185,7 @@
"tslib" "^2.3.0"
"yargs" "^17.2.1"
"@angular/compiler@~13.3.11", "@angular/compiler@13.3.11":
"@angular/compiler@~13.3.11":
"integrity" "sha512-EV6JCBbXdHDHbPShWmymvuoxFYG0KVc8sDJpYp47WLHCY2zgZaXhvWs//Hrls3fmi+TGTekgRa2jOBBNce/Ggg=="
"resolved" "https://registry.npmmirror.com/@angular/compiler/-/compiler-13.3.11.tgz"
"version" "13.3.11"
@ -197,7 +197,7 @@
"resolved" "https://registry.npmmirror.com/@angular/compiler/-/compiler-9.0.0.tgz"
"version" "9.0.0"
"@angular/core@^10.0.0", "@angular/core@^12.2.8", "@angular/core@^13.0.0", "@angular/core@^13.0.0 || ^14.0.0-0", "@angular/core@^13.0.1", "@angular/core@^6.0.0-rc.0 || >=6.0.0", "@angular/core@^9.0.5", "@angular/core@>=5.0.0", "@angular/core@>=6.0.0 <10.0.0", "@angular/core@>=6.0.0 <9 || ^9.0.0-0", "@angular/core@~13.3.11", "@angular/core@13.3.11":
"@angular/core@~13.3.11":
"integrity" "sha512-9BmE2CxyV0g+AkBeuc8IwjSOiJ8Y+kptXnqD/J8EAFT3B0/fLGVnjFdZC6Sev9L0SNZb6qdzebpfIOLqbUjReQ=="
"resolved" "https://registry.npmmirror.com/@angular/core/-/core-13.3.11.tgz"
"version" "13.3.11"
@ -214,7 +214,7 @@
"resolved" "https://registry.npm.taobao.org/@angular/fire/download/@angular/fire-5.4.2.tgz"
"version" "5.4.2"
"@angular/forms@^13.0.1", "@angular/forms@~13.3.11":
"@angular/forms@~13.3.11":
"integrity" "sha512-iMgTNB+Qc3TsfAZSk1FnUE6MVoddPzxhG9AKCfSlvpjFh8VmXkIjxPL3dun7J8OjayT3X+B8f7LZ9AkKNXtBKw=="
"resolved" "https://registry.npmmirror.com/@angular/forms/-/forms-13.3.11.tgz"
"version" "13.3.11"
@ -226,21 +226,21 @@
"resolved" "https://registry.npmmirror.com/@angular/language-service/-/language-service-13.3.11.tgz"
"version" "13.3.11"
"@angular/platform-browser-dynamic@>=6.0.0 <9 || ^9.0.0-0", "@angular/platform-browser-dynamic@~13.3.11":
"@angular/platform-browser-dynamic@~13.3.11":
"integrity" "sha512-xM0VRC1Nw//SHO3gkghUHyjCaaQbk1UYMq4vIu3iKVq9KLqOSZgccv0NcOKHzXXN3S5RgX2auuyOUOCD6ny1Pg=="
"resolved" "https://registry.npmmirror.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.3.11.tgz"
"version" "13.3.11"
dependencies:
"tslib" "^2.3.0"
"@angular/platform-browser@^13.0.1", "@angular/platform-browser@>=6.0.0 <9 || ^9.0.0-0", "@angular/platform-browser@~13.3.11", "@angular/platform-browser@13.3.11":
"@angular/platform-browser@~13.3.11":
"integrity" "sha512-PG3chCErARb6wNzkOed2NsZmgvTmbumRx/6sMXqGkDKXYQm0JULnl4X42Rn+JCgJ9DLJi5/jrd1dbcBCrKk9Vg=="
"resolved" "https://registry.npmmirror.com/@angular/platform-browser/-/platform-browser-13.3.11.tgz"
"version" "13.3.11"
dependencies:
"tslib" "^2.3.0"
"@angular/router@^13.0.1", "@angular/router@~13.3.11":
"@angular/router@~13.3.11":
"integrity" "sha512-bJTcxDYKEyoqtsi1kJcDJWLmEN+dXpwhU07SsqUwfyN4V5fYF1ApDhpJ4c17hNdjEqe106srT9tiHXhmWayhmQ=="
"resolved" "https://registry.npmmirror.com/@angular/router/-/router-13.3.11.tgz"
"version" "13.3.11"
@ -288,7 +288,7 @@
"resolved" "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.19.4.tgz"
"version" "7.19.4"
"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.12.0", "@babel/core@^7.12.3", "@babel/core@^7.13.0", "@babel/core@^7.4.0-0", "@babel/core@7.16.12":
"@babel/core@^7.12.3", "@babel/core@7.16.12":
"integrity" "sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg=="
"resolved" "https://registry.npmmirror.com/@babel/core/-/core-7.16.12.tgz"
"version" "7.16.12"
@ -1227,17 +1227,17 @@
"@babel/helper-validator-identifier" "^7.19.1"
"to-fast-properties" "^2.0.0"
"@babylonjs/core@^5.22.0", "@babylonjs/core@5.27.0":
"@babylonjs/core@5.27.0":
"integrity" "sha512-read/erSx1O0ge22tH7AOQkajqG/poZ+F54zpLwkjmw3KzuOO30ehz6R21vL3dPu21SP5TqY58oPyPwBRjxS1A=="
"resolved" "https://registry.npmmirror.com/@babylonjs/core/-/core-5.27.0.tgz"
"version" "5.27.0"
"@babylonjs/gui-editor@^5.22.0", "@babylonjs/gui-editor@^5.27.0":
"@babylonjs/gui-editor@^5.27.0":
"integrity" "sha512-tD95jiPtyQ+psknk54Qny81zYHj+HsIgePKBcDaphudPGNP+qQm6bL/Y/F+tJ+585BMNxwdx+IuONukx9aLKTQ=="
"resolved" "https://registry.npmmirror.com/@babylonjs/gui-editor/-/gui-editor-5.27.0.tgz"
"version" "5.27.0"
"@babylonjs/gui@^5.22.0", "@babylonjs/gui@^5.27.0":
"@babylonjs/gui@^5.27.0":
"integrity" "sha512-iXY9s6HDi4g6s9EjCoTYHB5RM2PCeEw2Oy/8U+9zvrUCKVUC9ec0FSVsQRxKloaI8XpNY0iBVj0N98Lvh89u/A=="
"resolved" "https://registry.npmmirror.com/@babylonjs/gui/-/gui-5.28.0.tgz"
"version" "5.28.0"
@ -1251,17 +1251,17 @@
"@fortawesome/free-regular-svg-icons" "^6.0.0"
"@fortawesome/free-solid-svg-icons" "^6.0.0"
"@babylonjs/loaders@^5.22.0", "@babylonjs/loaders@^5.27.0":
"@babylonjs/loaders@^5.27.0":
"integrity" "sha512-N7B46skjG57frEm/h+zAR9cWswj9DV+byyy8Ttap0fu53y3Oe+b/v8wpoqriEbrHCR7JAlHtylMZa7ltkFQSGg=="
"resolved" "https://registry.npmmirror.com/@babylonjs/loaders/-/loaders-5.28.0.tgz"
"version" "5.28.0"
"@babylonjs/materials@^5.22.0", "@babylonjs/materials@^5.27.0":
"@babylonjs/materials@^5.27.0":
"integrity" "sha512-Hiw7Qj2TFqUEP0F/vHxNlZ6rZH6XjI0/E1Kpx3WzrOgGEbwv6YNDLzIsfZ8PA8eTiq3CZnKHB/6x4l4fXYzxWw=="
"resolved" "https://registry.npmmirror.com/@babylonjs/materials/-/materials-5.28.0.tgz"
"version" "5.28.0"
"@babylonjs/serializers@^5.22.0", "@babylonjs/serializers@^5.28.0":
"@babylonjs/serializers@^5.28.0":
"integrity" "sha512-hGDFoh50dKmmbJjqRvBWfMgy3TigyVCwa8r3DJs5l3KHF98RtG060JQmdOQaavs0LOjxNMgXj4hDRS89550kZA=="
"resolved" "https://registry.npmmirror.com/@babylonjs/serializers/-/serializers-5.28.0.tgz"
"version" "5.28.0"
@ -1310,12 +1310,12 @@
"@firebase/util" "0.3.2"
"tslib" "^1.11.1"
"@firebase/app-types@0.6.1", "@firebase/app-types@0.x":
"@firebase/app-types@0.6.1":
"integrity" "sha512-L/ZnJRAq7F++utfuoTKX4CLBG5YR7tFO3PLzG1/oXXKEezJ0kRL3CMRoueBEmTCzVb/6SIs2Qlaw++uDgi5Xyg=="
"resolved" "https://registry.npmmirror.com/@firebase/app-types/-/app-types-0.6.1.tgz"
"version" "0.6.1"
"@firebase/app@0.6.11", "@firebase/app@0.x":
"@firebase/app@0.6.11":
"integrity" "sha512-FH++PaoyTzfTAVuJ0gITNYEIcjT5G+D0671La27MU8Vvr6MTko+5YUZ4xS9QItyotSeRF4rMJ1KR7G8LSyySiA=="
"resolved" "https://registry.npmmirror.com/@firebase/app/-/app-0.6.11.tgz"
"version" "0.6.11"
@ -1505,7 +1505,7 @@
"@firebase/util" "0.3.2"
"tslib" "^1.11.1"
"@firebase/util@0.3.2", "@firebase/util@0.x":
"@firebase/util@0.3.2":
"integrity" "sha512-Dqs00++c8rwKky6KCKLLY2T1qYO4Q+X5t+lF7DInXDNF4ae1Oau35bkD+OpJ9u7l1pEv7KHowP6CUKuySCOc8g=="
"resolved" "https://registry.npmmirror.com/@firebase/util/-/util-0.3.2.tgz"
"version" "0.3.2"
@ -3083,7 +3083,7 @@
"@types/qs" "*"
"@types/range-parser" "*"
"@types/express@*", "@types/express@^4.17.13":
"@types/express@*":
"integrity" "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg=="
"resolved" "https://registry.npmmirror.com/@types/express/-/express-4.17.14.tgz"
"version" "4.17.14"
@ -3117,7 +3117,7 @@
"resolved" "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.11.tgz"
"version" "7.0.11"
"@types/long@*", "@types/long@^4.0.0", "@types/long@^4.0.1":
"@types/long@*", "@types/long@^4.0.1":
"integrity" "sha1-RZxl+hhn2v5qjzIsTFFpVmPMVek="
"resolved" "https://registry.npm.taobao.org/@types/long/download/@types/long-4.0.1.tgz"
"version" "4.0.1"
@ -3132,12 +3132,12 @@
"resolved" "https://registry.npm.taobao.org/@types/node/download/@types/node-12.12.26.tgz?cache=0&sync_timestamp=1580843161457&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-12.12.26.tgz"
"version" "12.12.26"
"@types/node@^10.1.0":
"integrity" "sha1-tsYOvy+15CKf3XUf+d364PXzFUE="
"resolved" "https://registry.npm.taobao.org/@types/node/download/@types/node-10.17.14.tgz?cache=0&sync_timestamp=1580843161457&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fnode%2Fdownload%2F%40types%2Fnode-10.17.14.tgz"
"version" "10.17.14"
"@types/node@>=12.12.47":
"integrity" "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ=="
"resolved" "https://registry.npmmirror.com/@types/node/-/node-17.0.21.tgz"
"version" "17.0.21"
"@types/node@>=12.12.47", "@types/node@>=13.7.0":
"@types/node@>=13.7.0":
"integrity" "sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ=="
"resolved" "https://registry.npmmirror.com/@types/node/-/node-17.0.21.tgz"
"version" "17.0.21"
@ -3167,14 +3167,14 @@
"resolved" "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.4.tgz"
"version" "1.2.4"
"@types/react-dom@^17.0.10", "@types/react-dom@>=16.0.9":
"@types/react-dom@^17.0.10":
"integrity" "sha1-1pcuwBjSPPIrmVl/Eok0PZnqnZ0="
"resolved" "https://registry.npmmirror.com/@types/react-dom/download/@types/react-dom-17.0.10.tgz"
"version" "17.0.10"
dependencies:
"@types/react" "*"
"@types/react@*", "@types/react@^18.0.21", "@types/react@>=16.7.3":
"@types/react@*", "@types/react@^18.0.21":
"integrity" "sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA=="
"resolved" "https://registry.npmmirror.com/@types/react/-/react-18.0.21.tgz"
"version" "18.0.21"
@ -3403,7 +3403,7 @@
"resolved" "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz"
"version" "1.8.0"
"acorn@^8", "acorn@^8.4.1", "acorn@^8.5.0":
"acorn@^8.4.1", "acorn@^8.5.0":
"integrity" "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w=="
"resolved" "https://registry.npmmirror.com/acorn/-/acorn-8.8.0.tgz"
"version" "8.8.0"
@ -3471,7 +3471,7 @@
dependencies:
"fast-deep-equal" "^3.1.3"
"ajv@^6.12.4", "ajv@^6.12.5", "ajv@^6.5.5", "ajv@^6.9.1":
"ajv@^6.12.4":
"integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="
"resolved" "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz"
"version" "6.12.6"
@ -3481,27 +3481,27 @@
"json-schema-traverse" "^0.4.1"
"uri-js" "^4.2.2"
"ajv@^8.0.0":
"integrity" "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg=="
"resolved" "https://registry.npmmirror.com/ajv/-/ajv-8.11.0.tgz"
"version" "8.11.0"
"ajv@^6.12.5":
"integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="
"resolved" "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz"
"version" "6.12.6"
dependencies:
"fast-deep-equal" "^3.1.1"
"json-schema-traverse" "^1.0.0"
"require-from-string" "^2.0.2"
"fast-json-stable-stringify" "^2.0.0"
"json-schema-traverse" "^0.4.1"
"uri-js" "^4.2.2"
"ajv@^8.8.0", "ajv@^8.8.2":
"integrity" "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg=="
"resolved" "https://registry.npmmirror.com/ajv/-/ajv-8.11.0.tgz"
"version" "8.11.0"
"ajv@^6.5.5":
"integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="
"resolved" "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz"
"version" "6.12.6"
dependencies:
"fast-deep-equal" "^3.1.1"
"json-schema-traverse" "^1.0.0"
"require-from-string" "^2.0.2"
"fast-json-stable-stringify" "^2.0.0"
"json-schema-traverse" "^0.4.1"
"uri-js" "^4.2.2"
"ajv@8.9.0":
"ajv@^8.0.0", "ajv@^8.8.0", "ajv@8.9.0":
"integrity" "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ=="
"resolved" "https://registry.npmmirror.com/ajv/-/ajv-8.9.0.tgz"
"version" "8.9.0"
@ -3819,7 +3819,7 @@
dependencies:
"@babel/helper-define-polyfill-provider" "^0.3.1"
"babylonjs-gltf2interface@^5.22.0", "babylonjs-gltf2interface@^5.28.0":
"babylonjs-gltf2interface@^5.28.0":
"integrity" "sha512-Mm0s5yaaCbbU6DJr/lXpa7ZV3FziT5wWlvC2Yyn6Rhl7xgZQQUub1NjDn+vt0wh4XjETDEEuHwOYpm1i5cID3w=="
"resolved" "https://registry.npmmirror.com/babylonjs-gltf2interface/-/babylonjs-gltf2interface-5.28.0.tgz"
"version" "5.28.0"
@ -3939,7 +3939,7 @@
dependencies:
"fill-range" "^7.0.1"
"browserslist@^4.14.5", "browserslist@^4.19.1", "browserslist@^4.21.3", "browserslist@^4.21.4", "browserslist@^4.9.1", "browserslist@>= 4.21.0":
"browserslist@^4.14.5", "browserslist@^4.19.1", "browserslist@^4.21.3", "browserslist@^4.21.4", "browserslist@^4.9.1":
"integrity" "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw=="
"resolved" "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.4.tgz"
"version" "4.21.4"
@ -3958,7 +3958,7 @@
"bson-objectid@^1.3.1":
"integrity" "sha512-eQBNQXsisEAXlwiSy8zRNZdW2xDBJaEVkTPbodYR9hGxxtE548Qq7ilYOd8WAQ86xF7NRUdiWSQ1pa/TkKiE2A=="
"resolved" "https://registry.npmjs.org/bson-objectid/-/bson-objectid-1.3.1.tgz"
"resolved" "https://registry.npmmirror.com/bson-objectid/-/bson-objectid-1.3.1.tgz"
"version" "1.3.1"
"buffer-from@^1.0.0", "buffer-from@^1.1.0":
@ -4104,7 +4104,18 @@
dependencies:
"esm" "^3.2.25"
"chalk@^1.1.1", "chalk@^1.1.3":
"chalk@^1.1.1":
"integrity" "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg="
"resolved" "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz"
"version" "1.1.3"
dependencies:
"ansi-styles" "^2.2.1"
"escape-string-regexp" "^1.0.2"
"has-ansi" "^2.0.0"
"strip-ansi" "^3.0.0"
"supports-color" "^2.0.0"
"chalk@^1.1.3":
"integrity" "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg="
"resolved" "https://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz?cache=0&sync_timestamp=1573282918610&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchalk%2Fdownload%2Fchalk-1.1.3.tgz"
"version" "1.1.3"
@ -4786,7 +4797,12 @@
"resolved" "https://registry.npm.taobao.org/density-clustering/download/density-clustering-1.3.0.tgz"
"version" "1.3.0"
"depd@^1.1.2", "depd@~1.1.2":
"depd@^1.1.2":
"integrity" "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
"resolved" "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz"
"version" "1.1.2"
"depd@~1.1.2":
"integrity" "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
"resolved" "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz"
"version" "1.1.2"
@ -4967,7 +4983,7 @@
"jsbn" "~0.1.0"
"safer-buffer" "^2.1.0"
"echarts@^4.9.0", "echarts@>=3.1.1":
"echarts@^4.9.0":
"integrity" "sha1-qbm6oD8Doqcx5jQMVb77V6nhNH0="
"resolved" "https://registry.npmmirror.com/echarts/download/echarts-4.9.0.tgz?cache=0&sync_timestamp=1635741929711&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fecharts%2Fdownload%2Fecharts-4.9.0.tgz"
"version" "4.9.0"
@ -4999,7 +5015,7 @@
"resolved" "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz"
"version" "1.0.2"
"encoding@^0.1.0", "encoding@^0.1.12", "encoding@^0.1.13":
"encoding@^0.1.12", "encoding@^0.1.13":
"integrity" "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A=="
"resolved" "https://registry.npmmirror.com/encoding/-/encoding-0.1.13.tgz"
"version" "0.1.13"
@ -5338,14 +5354,7 @@
dependencies:
"reusify" "^1.0.4"
"faye-websocket@^0.11.3":
"integrity" "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g=="
"resolved" "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz"
"version" "0.11.4"
dependencies:
"websocket-driver" ">=0.5.1"
"faye-websocket@0.11.3":
"faye-websocket@^0.11.3", "faye-websocket@0.11.3":
"integrity" "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA=="
"resolved" "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.3.tgz"
"version" "0.11.3"
@ -5409,7 +5418,7 @@
"locate-path" "^5.0.0"
"path-exists" "^4.0.0"
"firebase@^7.6.2", "firebase@>= 5.5.7 <8":
"firebase@^7.6.2":
"integrity" "sha512-j6jIyGFFBlwWAmrlUg9HyQ/x+YpsPkc/TTkbTyeLwwAJrpAmmEHNPT6O9xtAnMV4g7d3RqLL/u9//aZlbY4rQA=="
"resolved" "https://registry.npmmirror.com/firebase/-/firebase-7.24.0.tgz"
"version" "7.24.0"
@ -5590,7 +5599,7 @@
dependencies:
"assert-plus" "^1.0.0"
"glob-parent@^5.1.2":
"glob-parent@^5.1.2", "glob-parent@~5.1.2":
"integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="
"resolved" "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz"
"version" "5.1.2"
@ -5604,13 +5613,6 @@
dependencies:
"is-glob" "^4.0.3"
"glob-parent@~5.1.2":
"integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="
"resolved" "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz"
"version" "5.1.2"
dependencies:
"is-glob" "^4.0.1"
"glob-to-regexp@^0.4.1":
"integrity" "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw=="
"resolved" "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz"
@ -5881,15 +5883,7 @@
"agent-base" "^4.3.0"
"debug" "^3.1.0"
"https-proxy-agent@^5.0.0":
"integrity" "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA=="
"resolved" "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz"
"version" "5.0.0"
dependencies:
"agent-base" "6"
"debug" "4"
"https-proxy-agent@5.0.0":
"https-proxy-agent@^5.0.0", "https-proxy-agent@5.0.0":
"integrity" "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA=="
"resolved" "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz"
"version" "5.0.0"
@ -6317,7 +6311,7 @@
"html-escaper" "^2.0.0"
"istanbul-lib-report" "^3.0.0"
"jasmine-core@^3.6.0", "jasmine-core@>=3.5", "jasmine-core@~3.6.0":
"jasmine-core@^3.6.0", "jasmine-core@~3.6.0":
"integrity" "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw=="
"resolved" "https://registry.npmmirror.com/jasmine-core/-/jasmine-core-3.6.0.tgz"
"version" "3.6.0"
@ -6485,7 +6479,7 @@
"resolved" "https://registry.npm.taobao.org/karma-jasmine-html-reporter/download/karma-jasmine-html-reporter-1.5.1.tgz?cache=0&sync_timestamp=1577250900227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fkarma-jasmine-html-reporter%2Fdownload%2Fkarma-jasmine-html-reporter-1.5.1.tgz"
"version" "1.5.1"
"karma-jasmine@>=1.1", "karma-jasmine@~4.0.0":
"karma-jasmine@~4.0.0":
"integrity" "sha512-ggi84RMNQffSDmWSyyt4zxzh2CQGwsxvYYsprgyR1j8ikzIduEdOlcLvXjZGwXG/0j41KUXOWsUCBfbEHPWP9g=="
"resolved" "https://registry.npmmirror.com/karma-jasmine/-/karma-jasmine-4.0.2.tgz"
"version" "4.0.2"
@ -6499,7 +6493,7 @@
dependencies:
"source-map-support" "^0.5.5"
"karma@*", "karma@^6.3.0", "karma@>=0.9", "karma@~6.4.1":
"karma@~6.4.1":
"integrity" "sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA=="
"resolved" "https://registry.npmmirror.com/karma/-/karma-6.4.1.tgz"
"version" "6.4.1"
@ -6553,7 +6547,7 @@
dependencies:
"klona" "^2.0.4"
"less@^3.5.0 || ^4.0.0", "less@4.1.2":
"less@4.1.2":
"integrity" "sha512-EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA=="
"resolved" "https://registry.npmmirror.com/less/-/less-4.1.2.tgz"
"version" "4.1.2"
@ -6855,13 +6849,6 @@
dependencies:
"brace-expansion" "^1.1.7"
"minimatch@^3.1.1":
"integrity" "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="
"resolved" "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz"
"version" "3.1.2"
dependencies:
"brace-expansion" "^1.1.7"
"minimatch@^5.0.1":
"integrity" "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg=="
"resolved" "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.0.tgz"
@ -6947,19 +6934,35 @@
"minipass" "^3.0.0"
"yallist" "^4.0.0"
"mkdirp@^0.5.1", "mkdirp@^0.5.3", "mkdirp@^0.5.5", "mkdirp@^0.5.6":
"mkdirp@^0.5.1":
"integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="
"resolved" "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz"
"version" "0.5.6"
dependencies:
"minimist" "^1.2.6"
"mkdirp@^1.0.3":
"integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
"resolved" "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz"
"version" "1.0.4"
"mkdirp@^0.5.3":
"integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="
"resolved" "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz"
"version" "0.5.6"
dependencies:
"minimist" "^1.2.6"
"mkdirp@^0.5.5":
"integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="
"resolved" "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz"
"version" "0.5.6"
dependencies:
"minimist" "^1.2.6"
"mkdirp@^0.5.6":
"integrity" "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw=="
"resolved" "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz"
"version" "0.5.6"
dependencies:
"minimist" "^1.2.6"
"mkdirp@^1.0.4":
"mkdirp@^1.0.3", "mkdirp@^1.0.4":
"integrity" "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
"resolved" "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz"
"version" "1.0.4"
@ -7856,7 +7859,7 @@
"resolved" "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
"version" "4.2.0"
"postcss@^7.0.0 || ^8.0.1", "postcss@^8", "postcss@^8.0.0", "postcss@^8.0.3", "postcss@^8.1.0", "postcss@^8.2", "postcss@^8.2.14", "postcss@^8.2.15", "postcss@^8.3", "postcss@^8.3.7", "postcss@^8.4", "postcss@8.4.5":
"postcss@^8.2.14", "postcss@^8.2.15", "postcss@^8.3.7", "postcss@8.4.5":
"integrity" "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg=="
"resolved" "https://registry.npmmirror.com/postcss/-/postcss-8.4.5.tgz"
"version" "8.4.5"
@ -7903,7 +7906,7 @@
"glob" "^7.0.5"
"yargs" "^3.10.0"
"protobufjs@^6.10.0":
"protobufjs@^6.10.0", "protobufjs@^6.8.6":
"integrity" "sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw=="
"resolved" "https://registry.npmmirror.com/protobufjs/-/protobufjs-6.11.2.tgz"
"version" "6.11.2"
@ -7922,26 +7925,7 @@
"@types/node" ">=13.7.0"
"long" "^4.0.0"
"protobufjs@^6.8.6":
"integrity" "sha1-yLTxKC/XqQ5vWxCe0RyEr4KQjnw="
"resolved" "https://registry.npm.taobao.org/protobufjs/download/protobufjs-6.8.8.tgz"
"version" "6.8.8"
dependencies:
"@protobufjs/aspromise" "^1.1.2"
"@protobufjs/base64" "^1.1.2"
"@protobufjs/codegen" "^2.0.4"
"@protobufjs/eventemitter" "^1.1.0"
"@protobufjs/fetch" "^1.1.0"
"@protobufjs/float" "^1.0.2"
"@protobufjs/inquire" "^1.1.0"
"@protobufjs/path" "^1.1.2"
"@protobufjs/pool" "^1.1.0"
"@protobufjs/utf8" "^1.1.0"
"@types/long" "^4.0.0"
"@types/node" "^10.1.0"
"long" "^4.0.0"
"protractor@^7.0.0", "protractor@~7.0.0":
"protractor@~7.0.0":
"integrity" "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw=="
"resolved" "https://registry.npmmirror.com/protractor/-/protractor-7.0.0.tgz"
"version" "7.0.0"
@ -8027,11 +8011,6 @@
"resolved" "https://registry.npm.taobao.org/quickselect/download/quickselect-1.1.1.tgz"
"version" "1.1.1"
"quickselect@^2.0.0":
"integrity" "sha1-8ZaApIal7vtYEwPgI+mPqvJd0Bg="
"resolved" "https://registry.npm.taobao.org/quickselect/download/quickselect-2.0.0.tgz"
"version" "2.0.0"
"randombytes@^2.1.0":
"integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="
"resolved" "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz"
@ -8054,14 +8033,7 @@
"iconv-lite" "0.4.24"
"unpipe" "1.0.0"
"rbush@*":
"integrity" "sha1-X6+op5s7mv3+UAhAOnIMwd6ILs8="
"resolved" "https://registry.npm.taobao.org/rbush/download/rbush-3.0.1.tgz"
"version" "3.0.1"
dependencies:
"quickselect" "^2.0.0"
"rbush@^2.0.1":
"rbush@*", "rbush@^2.0.1":
"integrity" "sha1-u2AFwnMbe6HVqaA1dykn0WphRgU="
"resolved" "https://registry.npm.taobao.org/rbush/download/rbush-2.0.2.tgz"
"version" "2.0.2"
@ -8083,7 +8055,7 @@
"json-parse-even-better-errors" "^2.3.0"
"npm-normalize-package-bin" "^1.0.1"
"readable-stream@^2.0.1", "readable-stream@~2.3.6":
"readable-stream@^2.0.1":
"integrity" "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c="
"resolved" "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz"
"version" "2.3.7"
@ -8096,7 +8068,7 @@
"string_decoder" "~1.1.1"
"util-deprecate" "~1.0.1"
"readable-stream@^3.0.6":
"readable-stream@^3.0.6", "readable-stream@^3.4.0", "readable-stream@^3.6.0":
"integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="
"resolved" "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.0.tgz"
"version" "3.6.0"
@ -8105,23 +8077,18 @@
"string_decoder" "^1.1.1"
"util-deprecate" "^1.0.1"
"readable-stream@^3.4.0":
"integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="
"resolved" "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.0.tgz"
"version" "3.6.0"
dependencies:
"inherits" "^2.0.3"
"string_decoder" "^1.1.1"
"util-deprecate" "^1.0.1"
"readable-stream@^3.6.0":
"integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="
"resolved" "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.0.tgz"
"version" "3.6.0"
"readable-stream@~2.3.6":
"integrity" "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c="
"resolved" "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz"
"version" "2.3.7"
dependencies:
"inherits" "^2.0.3"
"string_decoder" "^1.1.1"
"util-deprecate" "^1.0.1"
"core-util-is" "~1.0.0"
"inherits" "~2.0.3"
"isarray" "~1.0.0"
"process-nextick-args" "~2.0.0"
"safe-buffer" "~5.1.1"
"string_decoder" "~1.1.1"
"util-deprecate" "~1.0.1"
"readdirp@~3.6.0":
"integrity" "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="
@ -8326,7 +8293,28 @@
"resolved" "https://registry.npmmirror.com/rfdc/-/rfdc-1.3.0.tgz"
"version" "1.3.0"
"rimraf@^2.2.8", "rimraf@^2.5.2", "rimraf@^2.5.4", "rimraf@^2.6.3":
"rimraf@^2.2.8":
"integrity" "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w="
"resolved" "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz"
"version" "2.7.1"
dependencies:
"glob" "^7.1.3"
"rimraf@^2.5.2":
"integrity" "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w="
"resolved" "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz"
"version" "2.7.1"
dependencies:
"glob" "^7.1.3"
"rimraf@^2.5.4":
"integrity" "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w="
"resolved" "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz"
"version" "2.7.1"
dependencies:
"glob" "^7.1.3"
"rimraf@^2.6.3":
"integrity" "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w="
"resolved" "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz"
"version" "2.7.1"
@ -8380,7 +8368,7 @@
dependencies:
"queue-microtask" "^1.2.2"
"rxjs@^6.0.0", "rxjs@^6.4.0 || ^7.4.0", "rxjs@^6.5.3", "rxjs@^6.5.3 || ^7.4.0", "rxjs@>=6.0.0", "rxjs@~6.5.4":
"rxjs@^6.5.3", "rxjs@~6.5.4":
"integrity" "sha1-4Hd/4NGEzseHLfFH8wNXLUFOIRw="
"resolved" "https://registry.npm.taobao.org/rxjs/download/rxjs-6.5.4.tgz"
"version" "6.5.4"
@ -8424,7 +8412,7 @@
"klona" "^2.0.4"
"neo-async" "^2.6.2"
"sass@^1.3.0", "sass@1.49.9":
"sass@1.49.9":
"integrity" "sha512-YlYWkkHP9fbwaFRZQRXgDi3mXZShslVmmo+FVK3kHLUELHHEYrCmL1x6IUjC7wLS6VuJSAFXRQS/DxdsC4xL1A=="
"resolved" "https://registry.npmmirror.com/sass/-/sass-1.49.9.tgz"
"version" "1.49.9"
@ -8953,13 +8941,6 @@
dependencies:
"ansi-regex" "^5.0.1"
"strip-ansi@^6.0.1":
"integrity" "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="
"resolved" "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz"
"version" "6.0.1"
dependencies:
"ansi-regex" "^5.0.1"
"strip-ansi@^7.0.0":
"integrity" "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw=="
"resolved" "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.0.1.tgz"
@ -8981,7 +8962,7 @@
"klona" "^2.0.4"
"normalize-path" "^3.0.0"
"stylus@>=0.52.4", "stylus@0.56.0":
"stylus@0.56.0":
"integrity" "sha512-Ev3fOb4bUElwWu4F9P9WjnnaSpc8XB9OFHSFZSKMFL1CE1oM+oFXWEgAqPmmZIyhBihuqIQlFsVTypiiS9RxeA=="
"resolved" "https://registry.npmmirror.com/stylus/-/stylus-0.56.0.tgz"
"version" "0.56.0"
@ -9218,7 +9199,7 @@
"resolved" "https://registry.npmmirror.com/tslib/-/tslib-2.3.1.tgz"
"version" "2.3.1"
"tslint@^5.0.0 || ^6.0.0", "tslint@~6.1.0":
"tslint@~6.1.0":
"integrity" "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg=="
"resolved" "https://registry.npmmirror.com/tslint/-/tslint-6.1.3.tgz"
"version" "6.1.3"
@ -9294,7 +9275,7 @@
"resolved" "https://registry.npmmirror.com/typed-assert/-/typed-assert-1.0.9.tgz"
"version" "1.0.9"
"typescript@>=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev", "typescript@>=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev", "typescript@>=4.4.2 <4.7", "typescript@>=4.4.3 <4.7", "typescript@~4.5.2":
"typescript@~4.5.2":
"integrity" "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA=="
"resolved" "https://registry.npmmirror.com/typescript/-/typescript-4.5.5.tgz"
"version" "4.5.5"
@ -9403,12 +9384,7 @@
"resolved" "https://registry.npm.taobao.org/uuid/download/uuid-3.3.3.tgz"
"version" "3.3.3"
"uuid@^8.3.2":
"integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
"resolved" "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz"
"version" "8.3.2"
"uuid@8.3.2":
"uuid@^8.3.2", "uuid@8.3.2":
"integrity" "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
"resolved" "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz"
"version" "8.3.2"
@ -9507,7 +9483,7 @@
"range-parser" "^1.2.1"
"schema-utils" "^4.0.0"
"webpack-dev-server@^4.0.0", "webpack-dev-server@4.7.3":
"webpack-dev-server@4.7.3":
"integrity" "sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q=="
"resolved" "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz"
"version" "4.7.3"
@ -9562,7 +9538,7 @@
dependencies:
"typed-assert" "^1.0.8"
"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^5.0.0", "webpack@^5.1.0", "webpack@^5.12.0", "webpack@^5.30.0", "webpack@>=2", "webpack@>=4.0.1", "webpack@5.70.0":
"webpack@5.70.0":
"integrity" "sha512-ZMWWy8CeuTTjCxbeaQI21xSswseF2oNOwc70QSKNePvmxE7XW36i7vpBMYZFAUHPwQiEbNGCEYIOOlyRbdGmxw=="
"resolved" "https://registry.npmmirror.com/webpack/-/webpack-5.70.0.tgz"
"version" "5.70.0"
@ -9845,7 +9821,7 @@
"resolved" "https://registry.npm.taobao.org/yn/download/yn-2.0.0.tgz"
"version" "2.0.0"
"zone.js@~0.10.2", "zone.js@~0.10.3":
"zone.js@~0.10.3":
"integrity" "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg=="
"resolved" "https://registry.npmmirror.com/zone.js/-/zone.js-0.10.3.tgz"
"version" "0.10.3"

Loading…
Cancel
Save