刘向辉 3 years ago
parent
commit
2426baceeb
  1. 8
      src/app/http-interceptors/base-interceptor.ts
  2. 7
      src/app/pages/audit/annual-inspection/annual-inspection.component.ts
  3. 2
      src/app/pages/audit/annual-inspection/edit-annual-inspection/edit-annual-inspection.component.ts
  4. 12
      src/app/pages/audit/audit-inform-time/audit-details-inform-time/audit-details-inform-time.component.html
  5. 1
      src/app/pages/audit/audit-inform-time/audit-details-inform-time/audit-details-inform-time.component.ts
  6. 7
      src/app/pages/audit/audit-inform-time/audit-inform-time.component.html
  7. 9
      src/app/pages/audit/audit-inform-time/audit-inform-time.component.ts
  8. 9
      src/app/pages/audit/audit-inform-time/edit-inform-time/edit-inform-time.component.html
  9. 8
      src/app/pages/audit/audit-inform-time/edit-inform-time/edit-inform-time.component.ts
  10. 66
      src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.html
  11. 10
      src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.ts
  12. 24
      src/app/pages/audit/audit-ing/audit-ing.component.html
  13. 42
      src/app/pages/audit/audit-ing/audit-ing.component.ts
  14. 15
      src/app/pages/audit/audit-nav/audit-nav.component.html
  15. 4
      src/app/pages/audit/audit-nav/audit-nav.component.ts
  16. 28
      src/app/pages/audit/audit-record/audit-record.component.html
  17. 9
      src/app/pages/audit/audit-record/audit-record.component.ts
  18. 2
      src/app/pages/home/home.component.html
  19. 4
      src/app/pages/license/file-category/details-file-category/details-file-category.component.html
  20. 11
      src/app/pages/license/file-category/edit-file-category/edit-file-category.component.html
  21. 5
      src/app/pages/license/file-category/edit-file-category/edit-file-category.component.ts
  22. 14
      src/app/pages/license/file-category/file-category.component.html
  23. 26
      src/app/pages/license/file-category/file-category.component.ts
  24. 8
      src/app/pages/license/histories/histories.component.html
  25. 7
      src/app/pages/license/histories/histories.component.ts
  26. 8
      src/app/pages/license/inform/inform.component.html
  27. 8
      src/app/pages/license/inform/inform.component.ts
  28. 29
      src/app/pages/license/update-category/details-update-category/details-update-category.component.html
  29. 10
      src/app/pages/license/update-category/details-update-category/details-update-category.component.ts
  30. 52
      src/app/pages/license/update-category/edit-update-category/edit-update-category.component.html
  31. 47
      src/app/pages/license/update-category/edit-update-category/edit-update-category.component.ts
  32. 19
      src/app/pages/license/update-category/update-category.component.html
  33. 41
      src/app/pages/license/update-category/update-category.component.ts
  34. 2
      src/app/pages/oil-unloading-process-list/oil-unloading-process-list.component.html
  35. 30
      src/app/pages/oil-unloading-process-list/oil-unloading-process-list.component.ts
  36. 25
      src/app/pages/plan-admin/file-license-list/file-license-list.component.html
  37. 8
      src/app/pages/plan-admin/file-license-list/file-license-list.component.scss
  38. 125
      src/app/pages/plan-admin/file-license-list/file-license-list.component.ts
  39. 7
      src/app/pages/plan-admin/oil-station-list/oil-station-list.component.ts
  40. 10
      src/app/pages/plan-admin/plan-admin.component.html
  41. 30
      src/app/pages/plan-admin/update-license-list/update-license-list.component.html
  42. 21
      src/app/pages/plan-admin/update-license-list/update-license-list.component.scss
  43. 110
      src/app/pages/plan-admin/update-license-list/update-license-list.component.ts
  44. 4
      src/app/system-management/file-of-license/file-of-license.component.html
  45. 4
      src/app/system-management/navigation/navigation.component.html
  46. 20
      src/app/system-management/update-of-license/add-update-of-license/add-update-of-license.component.html
  47. 6
      src/app/system-management/update-of-license/add-update-of-license/add-update-of-license.component.ts
  48. 18
      src/app/system-management/update-of-license/edit-update-of-license/edit-update-of-license.component.html
  49. 5
      src/app/system-management/update-of-license/edit-update-of-license/edit-update-of-license.component.ts
  50. 8
      src/app/system-management/update-of-license/update-of-license.component.html
  51. 37
      src/app/system-management/update-of-license/update-of-license.component.ts
  52. 8
      src/theme.less

8
src/app/http-interceptors/base-interceptor.ts

@ -84,11 +84,15 @@ export class BaseInterceptor implements HttpInterceptor {
this.message.create('error', `请核对您的输入信息或格式是否正确!`);
}
if (error.status === 500) {
this.message.create('error', `状态500,服务器错误!${error.error.message}`);
// console.log('xxxx',error)
this.message.create('error', `状态500,服务器错误!${error.error.error.message}`);
}
if (error.status === 404) {
this.message.create('error', `实体未找到!${error.error.error.message}`);
}
if (error.error instanceof ErrorEvent) {
// 发生客户端或网络错误。相应处理。
console.error('An error occurred:', error.error.message);
console.error('An error occurred:', error.error.error.message);
} else {
// 服务端返回http状态码
// 服务端返回错误信息

7
src/app/pages/audit/annual-inspection/annual-inspection.component.ts

@ -16,15 +16,18 @@ export class AnnualInspectionComponent implements OnInit {
tableSpin = false
tableScrollHeight
resizeListener
ngOnInit(): void {
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - 42) + 'px'
// 页面监听
fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.resizeListener = fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - 42) + 'px'
});
this.getAnnualInspectionList()
}
ngOnDestroy(): void {
this.resizeListener.unsubscribe()
}
list = []

2
src/app/pages/audit/annual-inspection/edit-annual-inspection/edit-annual-inspection.component.ts

@ -43,7 +43,7 @@ export class EditAnnualInspectionComponent implements OnInit {
let body = {
licenseTypeId: this.dataCopy.licenseTypeId,
organizationId: JSON.parse(sessionStorage.getItem('userdata')).organization.id,
yearlyCheckDate: moment(this.validateForm.value.time).format('YYYY-MM-DD')//开业时间格式化
yearlyCheckDate: moment(this.validateForm.value.time).format('YYYY-MM-DD')
}
this.http.put('/api/services/app/OrganizationValidityLicenseRule/UpdateYearlyCheckDate', body).subscribe((data) => {
this.message.create('success', '修改成功');

12
src/app/pages/audit/audit-inform-time/audit-details-inform-time/audit-details-inform-time.component.html

@ -14,20 +14,22 @@
<p>公司名称: {{data.organization ? data.organization.displayName : null}}</p>
<div class="cutoffrule"></div>
<p class="flexp">
<span>办理提醒时间修改时间 {{data.handleRemindDays}}天</span>
<span>办理提醒时间: 修改时间 {{data.handleRemindDays}}天</span>
<span>默认时间 {{data.handleRemindDaysDefault}}天</span>
</p>
<div class="cutoffrule"></div>
<p class="flexp">
<span>临期提醒时间修改时间 {{data.closingRemindDays}}天</span>
<span>临期提醒时间: 修改时间 {{data.closingRemindDays}}天</span>
<span>默认时间 {{data.closingRemindDaysDefault}}天</span>
</p>
<div class="cutoffrule"></div>
<p>修改说明:{{data.remark}}</p>
<p *ngIf="data.isYearlyCheckDefault">年检时间: {{data.yearlyCheckDate | date:"MM/dd"}}</p>
<div *ngIf="data.isYearlyCheckDefault" class="cutoffrule"></div>
<p>修改说明: {{data.remark}}</p>
<div class="cutoffrule"></div>
<p>审核状态:{{data.auditStatus | auditStatus}}</p>
<p>审核状态: {{data.auditStatus | auditStatus}}</p>
<div class="cutoffrule"></div>
<p>审核说明{{data.auditLog? data.auditLog.rejectReason : ''}}</p>
<p>审核说明: {{data.auditLog? data.auditLog.rejectReason : ''}}</p>
</div>

1
src/app/pages/audit/audit-inform-time/audit-details-inform-time/audit-details-inform-time.component.ts

@ -13,7 +13,6 @@ export class AuditDetailsInformTimeComponent implements OnInit {
organizationName
ngOnInit(): void {
this.organizationName = JSON.parse(sessionStorage.getItem('userdata')).organization.displayName
}
destroyModal() {

7
src/app/pages/audit/audit-inform-time/audit-inform-time.component.html

@ -9,6 +9,7 @@
</th>
<th colspan="2">办理提醒时间</th>
<th colspan="2">临期提醒时间</th>
<th colspan="2">年检设置</th>
<th rowspan="2">提交审核时间</th>
<th rowspan="2">审核状态</th>
<th rowspan="2">操作</th>
@ -18,6 +19,8 @@
<th>现用时间</th>
<th>默认时间</th>
<th>现用时间</th>
<th>是否年检</th>
<th>年检时间</th>
</tr>
</thead>
<tbody id="table">
@ -29,6 +32,8 @@
<td>{{item.handleRemindDays}}天</td>
<td>{{item.closingRemindDaysDefault}}天</td>
<td>{{item.closingRemindDays}}天</td>
<td>{{item.isYearlyCheckDefault ? '是' : '否'}}</td>
<td>{{item.yearlyCheckDate | date:"MM/dd"}}</td>
<td>{{(item.auditLog && item.auditLog.committedTime) ? (item.auditLog.committedTime | date:"yyyy-MM-dd HH:mm:ss") : '/'}}</td>
<td>{{item.auditStatus | auditStatus}}</td>
<td class="operation">
@ -36,7 +41,7 @@
[ngClass]="{'greyColor': item.auditStatus == 1}">编辑</span>
<span class="blueColor" (click)="unCommit(item)"
*ngIf="item.auditStatus == 1">撤销审核</span>
<span class="blueColor" (click)="details(item)">审核详情</span>
<span class="blueColor" (click)="details(item)">详情</span>
</td>
</tr>
</tbody>

9
src/app/pages/audit/audit-inform-time/audit-inform-time.component.ts

@ -20,10 +20,12 @@ export class AuditInformTimeComponent implements OnInit {
list = []
tableScrollHeight
resizeListener
ngOnInit(): void {
// 页面监听
this.tableScrollHeight = '0px'
fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.resizeListener = fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
let tableHeader = this.element.nativeElement.querySelector(`.ant-table-header`).clientHeight
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - tableHeader) + 'px'
});
@ -31,6 +33,11 @@ export class AuditInformTimeComponent implements OnInit {
this.getTimeList()
}
ngOnDestroy(): void {
this.resizeListener.unsubscribe()
}
SkipCount: string = '0'
MaxResultCount: string = '100'
async getTimeList() {

9
src/app/pages/audit/audit-inform-time/edit-inform-time/edit-inform-time.component.html

@ -35,6 +35,15 @@
<p class="p2">默认时间: 30天</p>
</div>
</div>
<div class="explain" *ngIf="dataCopy.isYearlyCheckDefault">
<p>年检时间</p>
<nz-form-item>
<nz-form-control>
<nz-date-picker [nzFormat]="dateFormat" style="width: 100%;" formControlName="time"></nz-date-picker>
</nz-form-control>
</nz-form-item>
</div>
<div class="explain">
<p>修改说明</p>

8
src/app/pages/audit/audit-inform-time/edit-inform-time/edit-inform-time.component.ts

@ -4,6 +4,7 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { HttpClient } from '@angular/common/http';
import { ObjectsSimpleService } from 'src/app/service/objectsSimple.service';
import { NzMessageService } from 'ng-zorro-antd/message';
import * as moment from 'moment';
@Component({
selector: 'app-edit-inform-time',
templateUrl: './edit-inform-time.component.html',
@ -14,18 +15,20 @@ export class EditInformTimeComponent implements OnInit {
@Input() data?: any;
validateForm!: FormGroup;
constructor(private message: NzMessageService, private modal: NzModalRef, private fb: FormBuilder, private http: HttpClient, private objectsSrv: ObjectsSimpleService) { }
constructor(private message: NzMessageService, private modal: NzModalRef, private fb: FormBuilder, private http: HttpClient) { }
dateFormat = 'MM/dd';
dataCopy
ngOnInit(): void {
this.dataCopy = JSON.parse(JSON.stringify(this.data))
this.validateForm = this.fb.group({
time1: [this.dataCopy.handleRemindDays, [Validators.required]],
time2: [this.dataCopy.closingRemindDays, [Validators.required]],
time: [this.dataCopy.yearlyCheckDate, this.dataCopy.isYearlyCheckDefault ? [Validators.required] : null],//年检时间
explain: [null]
});
}
@ -44,6 +47,7 @@ export class EditInformTimeComponent implements OnInit {
organizationId: this.dataCopy.organizationId,
handleRemindDays: this.validateForm.value.time1,
closingRemindDays: this.validateForm.value.time2,
yearlyCheckDate: this.dataCopy.isYearlyCheckDefault ? moment(this.validateForm.value.time).format('YYYY-MM-DD') : null,
remark: this.validateForm.value.explain
}
console.log(body)

66
src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.html

@ -7,52 +7,80 @@
</div>
<div class="content">
<p *ngIf="data.auditType != 0 && data.auditType != 1 && data.gasStation">{{data.gasStation.companyName}} - {{data.gasStation.locationName}} - {{data.gasStation.stationName}}</p>
<p *ngIf="data.auditType != 0 && data.auditType != 1 && data.gasStation">{{data.gasStation.companyName}} -
{{data.gasStation.locationName}} - {{data.gasStation.stationName}}</p>
<div class="cutoffrule" *ngIf="data.auditType != 0 && data.auditType != 1"></div>
<div *ngIf="data.auditType == 0"><app-gas-base-info [data]="data"></app-gas-base-info></div>
<div *ngIf="data.auditType == 0">
<app-gas-base-info [data]="data"></app-gas-base-info>
</div>
<div *ngIf="data.auditType == 1">
<p>公司名称: &nbsp;&nbsp;{{data.organization.displayName}}</p>
<div class="cutoffrule"></div>
<p>名称: &nbsp;&nbsp;{{data.getData.licenseType.licenseName}}</p>
<p>名称: &nbsp;&nbsp;{{data.getData.licenseType.licenseName}}</p>
<div class="cutoffrule"></div>
<p>
办理提醒时间修改时间 &nbsp;&nbsp;{{data.getData.handleRemindDays}}天
办理提醒时间: 修改时间 &nbsp;&nbsp;{{data.getData.handleRemindDays}}天
<span style="float: right;">默认时间 {{data.getData.handleRemindDaysDefault}}天</span>
</p>
<div class="cutoffrule"></div>
<p>
临期提醒时间修改时间 &nbsp;&nbsp;{{data.getData.closingRemindDays}}天
临期提醒时间: 修改时间 &nbsp;&nbsp;{{data.getData.closingRemindDays}}天
<span style="float: right;">默认时间 {{data.getData.closingRemindDaysDefault}}天</span>
</p>
<div class="cutoffrule"></div>
<p>修改说明: &nbsp;&nbsp;{{data.getData.remark}}</p>
<p *ngIf="data.getData.licenseType.isYearlyCheck">年检时间: {{data.getData.yearlyCheckDate | date:"MM/dd"}}</p>
<div *ngIf="data.getData.licenseType.isYearlyCheck" class="cutoffrule"></div>
<p>修改说明: &nbsp;&nbsp;{{data.getData.remark}}</p>
</div>
<div *ngIf="data.auditType == 2">
<p>名称: &nbsp;&nbsp;{{data.getData.licenseTypeName}}</p>
<p>名称: &nbsp;&nbsp;{{data.getData.licenseTypeName}}</p>
<div class="cutoffrule"></div>
<p>编号: &nbsp;&nbsp;{{data.getData.licenseCode || ''}}</p>
<p>编号: &nbsp;&nbsp;{{data.getData.licenseCode || ''}}</p>
<div class="cutoffrule"></div>
<p>件有效期: &nbsp;&nbsp;<span *ngIf="!data.getData.isLongTerm">{{data.getData.validityStartTime | date:"yyyy/MM/dd"}} - </span>{{data.getData.validityEndTime | date:"yyyy/MM/dd"}}</p>
<p>照效期: &nbsp;&nbsp;{{data.getData.isLongTerm ? '长期证照' : (data.getData.validityEndTime | date:"yyyy/MM/dd")}}</p>
<div class="cutoffrule"></div>
<p>办理类型: &nbsp;&nbsp;{{getHandleTypes(data.getData.handleTypes)}}</p>
<p>办理类型: &nbsp;&nbsp;{{getHandleTypes(data.getData.handleTypesDefault)}}</p>
<div class="cutoffrule"></div>
<p>有效期类型: &nbsp;&nbsp;{{data.getData.validityDays || 0}}天</p>
<p>有效天数: &nbsp;&nbsp;
<ng-container *ngIf="data.getData.isLongTerm; else elseTemplate">
长期
</ng-container>
<ng-template #elseTemplate>
{{data.getData.validityDays ? data.getData.validityDays+'天' : '/'}}
</ng-template>
</p>
<div class="cutoffrule"></div>
<p>是否年检: &nbsp;&nbsp;<span *ngIf="data.getData.isYearlyCheck"></span><span *ngIf="!data.getData.isYearlyCheck"></span></p>
</div>
<div *ngIf="data.auditType == 3">
<p>证件名称: &nbsp;&nbsp;{{data.getData.licenseTypeName}}</p>
<p>证照名称: &nbsp;&nbsp;{{data.getData.licenseTypeName}}</p>
<div class="cutoffrule"></div>
<p>有无证照: &nbsp;&nbsp;
<span *ngIf="data.getData.validatyType == 0">不适用</span><span *ngIf="data.getData.validatyType == 1"></span><span *ngIf="data.getData.validatyType == 2"></span>
</p>
<div class="cutoffrule"></div>
<p>有无证照: &nbsp;&nbsp;<span *ngIf="data.getData.validatyType == 0">不适用</span><span *ngIf="data.getData.validatyType == 1"></span><span *ngIf="data.getData.validatyType == 2"></span></p>
<p>说明: &nbsp;&nbsp;{{data.getData.remark}}</p>
</div>
<div class="cutoffrule"></div>
<p [hidden]="data.getData.imageUrl === undefined">证件图片: &nbsp;&nbsp;
<img *ngIf="data.getData.imageUrl && getFileType(data.getData.imageUrl) == 'img'" [src]="data.getData.imageUrl" (click)="viewImg(data.getData.imageUrl)">
<img *ngIf="data.getData.imageUrl && getFileType(data.getData.imageUrl) == 'word'" src="../../../../assets/images/license/word.png" (click)="lookFile(data.getData)">
<img *ngIf="data.getData.imageUrl && getFileType(data.getData.imageUrl) == 'pdf'" src="../../../../assets/images/license/pdf.png" (click)="lookFile(data.getData)">
<p [hidden]="data.getData.imageUrl === undefined">附件: &nbsp;&nbsp;
<img *ngIf="data.getData.imageUrl && getFileType(data.getData.imageUrl) == 'img'"
[src]="data.getData.imageUrl" (click)="viewImg(data.getData.imageUrl)">
<img *ngIf="data.getData.imageUrl && getFileType(data.getData.imageUrl) == 'word'"
src="../../../../assets/images/license/word.png" (click)="lookFile(data.getData.imageUrl)">
<img *ngIf="data.getData.imageUrl && getFileType(data.getData.imageUrl) == 'pdf'"
src="../../../../assets/images/license/pdf.png" (click)="lookFile(data.getData.imageUrl)">
<div class="cutoffrule" [hidden]="data.getData.imageUrl === undefined"></div>
<p>审批意见:</p>
<textarea style="background: #173350;height: 100px;width: 100%;border-radius: 0;border: 0;color: white;" cols="30" rows="10" [(ngModel)]="textarea"></textarea>
<p *ngIf="data.getData.hasAttachmentDefault && data.getData.attachment">附件副本: &nbsp;&nbsp;
<img *ngIf="data.getData.attachment && getFileType(data.getData.attachment) == 'img'"
[src]="data.getData.attachment" (click)="viewImg(data.getData.attachment)">
<img *ngIf="data.getData.attachment && getFileType(data.getData.attachment) == 'word'"
src="../../../../assets/images/license/word.png" (click)="lookFile(data.getData.attachment)">
<img *ngIf="data.getData.attachment && getFileType(data.getData.attachment) == 'pdf'"
src="../../../../assets/images/license/pdf.png" (click)="lookFile(data.getData.attachment)">
<div class="cutoffrule" *ngIf="data.getData.hasAttachmentDefault && data.getData.attachment"></div>
<p>审批意见: </p>
<textarea style="background: #173350;height: 100px;width: 100%;border-radius: 0;border: 0;color: white;"
cols="30" rows="10" [(ngModel)]="textarea"></textarea>
<div class="btnbox">
<button nz-button type="button" class="ok" (click)="ok(true)">通过</button>
<button nz-button type="button" class="cancel" (click)="ok(false)">驳回</button>

10
src/app/pages/audit/audit-ing/audit-dispose/audit-dispose.component.ts

@ -85,15 +85,15 @@ export class AuditDisposeComponent implements OnInit {
//查看文件
lookFile(item) {
if (!item.imageUrl) {
if (!item) {
return
}
if (this.getFileType(item.imageUrl) == 'word') {
let arr = item.imageUrl.split('.')
if (this.getFileType(item) == 'word') {
let arr = item.split('.')
arr[arr.length - 1] = 'pdf'
window.open(arr.join('.'))
} else if (this.getFileType(item.imageUrl) == 'pdf') {
window.open(item.imageUrl)
} else if (this.getFileType(item) == 'pdf') {
window.open(item)
} else {
this.message.create('warning', '暂不支持查看!');
}

24
src/app/pages/audit/audit-ing/audit-ing.component.html

@ -5,15 +5,15 @@
<thead>
<tr>
<th [nzWidth]="'16%'">
<span style="margin-left: 30px;">审批类型</span>
<span style="margin-left: 30px;">审批信息</span>
</th>
<th>审批信息</th>
<th>审批类型</th>
<th>加油站名称</th>
<th [nzWidth]="'16%'">区域</th>
<th>省公司</th>
<th>提交时间</th>
<th [nzWidth]="'16%'">区域名称</th>
<th>省公司名称</th>
<!-- <th>提交时间</th> -->
<th>审批状态</th>
<th>操作</th>
<th>审批</th>
</tr>
</thead>
<tbody id="table">
@ -23,9 +23,9 @@
</td>
<td>
<span *ngIf="item.auditType == 0">油站信息</span>
<span *ngIf="item.auditType == 1">更新类证照提醒时间</span>
<span *ngIf="item.auditType == 2">更新类证照</span>
<span *ngIf="item.auditType == 3">档案类证照</span>
<span *ngIf="item.auditType == 1">经营类证照提醒时间</span>
<span *ngIf="item.auditType == 2">经营类证照</span>
<span *ngIf="item.auditType == 3">资产类证照</span>
</td>
<td><label *ngIf="item.gasStation">{{item.gasStation.stationName}}</label></td>
<td><label *ngIf="item.gasStation">{{item.gasStation.locationName}}</label></td>
@ -36,13 +36,11 @@
<ng-template #elseTemplate>
<label>{{item.organization ? item.organization.displayName : null}}</label>
</ng-template>
</td>
<td>{{item.committedTime | date:"yyyy/MM/dd HH:mm:ss" }}</td>
<!-- <td>{{item.committedTime | date:"yyyy/MM/dd HH:mm:ss" }}</td> -->
<td>{{item.auditStatusDesc}}</td>
<td class="operation">
<span class="blueColor" (click)="dispose(item)">处置</span>
<span class="blueColor" (click)="dispose(item)">审批</span>
<span class="blueColor" (click)="details(item)">详情</span>
</td>
</tr>

42
src/app/pages/audit/audit-ing/audit-ing.component.ts

@ -21,16 +21,19 @@ export class AuditIngComponent implements OnInit {
tableSpin = false
tableScrollHeight
resizeListener
ngOnInit(): void {
this.tableScrollHeight = '100px'
// 页面监听
fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.resizeListener = fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
let tableHeader = this.element.nativeElement.querySelector(`.ant-table-header`).clientHeight
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - tableHeader - 30) + 'px'
});
this.getStationList()
}
ngOnDestroy(): void {
this.resizeListener.unsubscribe()
}
ngAfterViewInit(): void {
fromEvent(this.element.nativeElement.querySelector(`.ant-table-body`) as HTMLCanvasElement, 'scroll').pipe(debounceTime(100)).subscribe((event: any) => { //监听 DOM 滚动事件
if (event.target.scrollHeight - (event.target.scrollTop + event.target.clientHeight) <= 10) {
@ -103,19 +106,19 @@ export class AuditIngComponent implements OnInit {
nzClosable: false,
nzOnOk: async () => {
await new Promise(resolve => {
let url
if (item.auditType == 0) {
url = '/api/services/app/GasStation/Audit'
} else if (item.auditType == 1) {
url = '/api/services/app/OrganizationValidityLicenseRule/Audit'
} else if (item.auditType == 2) {
url = '/api/services/app/StationValidityLicense/Audit'
} else if (item.auditType) {
url = '/api/services/app/StationFileLicense/Audit'
}
let url = '/api/services/app/ContentAuditLog/Audit'
// if (item.auditType == 0) {
// url = '/api/services/app/GasStation/Audit'
// } else if (item.auditType == 1) {
// url = '/api/services/app/OrganizationValidityLicenseRule/Audit'
// } else if (item.auditType == 2) {
// url = '/api/services/app/StationValidityLicense/Audit'
// } else if (item.auditType) {
// url = '/api/services/app/StationFileLicense/Audit'
// }
let params = {
id: item.auditType == 0 ? item.gasStation.id : item.getData.id,
remark: instance.textarea
id: item.id,
rejectReason: instance.textarea
}
let body = instance.isPass ? 2 : 3;
this.http.post(url, body, { params }).subscribe(data => {
@ -135,18 +138,24 @@ export class AuditIngComponent implements OnInit {
}
details(item) {
let itemCopy = JSON.parse(JSON.stringify(item))
let component
if (item.auditType == 0) {
component = GasBaseInfoComponent
} else if (item.auditType == 1) {
component = AuditDetailsInformTimeComponent
} else if (item.auditType == 2) {
component = DetailsUpdateCategoryComponent
} else if (item.auditType) {
component = DetailsFileCategoryComponent
}
this.getData(item).then(res => {
this.getData(item).then((res: any) => {
// console.log('res', res)
item.getData = res
if (item.auditType == 1) {
item.getData.isYearlyCheckDefault = res.licenseType.isYearlyCheck
}
const modal = this.modal.create({
nzContent: component,
nzViewContainerRef: this.viewContainerRef,
@ -196,6 +205,9 @@ export class AuditIngComponent implements OnInit {
data.result.handleRemindDaysDefault = data.result.licenseType.handleRemindDays
data.result.closingRemindDaysDefault = data.result.licenseType.closingRemindDays
}
if (item.auditType == 2 || item.auditType == 3) {
data.result.auditLogId = item.id
}
resolve(data.result)
})
})

15
src/app/pages/audit/audit-nav/audit-nav.component.html

@ -6,18 +6,17 @@
<div class="navitem">
<span *ngFor="let item of navList" [ngClass]="{'grey': selectedItem != item}"
(click)="selectNav(item)">{{item}}</span>
<span *ngIf="isLevel == 2" [ngClass]="{'grey': selectedItem != '通知时间'}"
(click)="selectNav('通知时间')">通知时间</span>
<span *ngIf="isLevel == 2" [ngClass]="{'grey': selectedItem != '年检设置'}"
(click)="selectNav('年检设置')">年检设置</span>
<span *ngIf="isLevel == 2" [ngClass]="{'grey': selectedItem != '预警规则'}"
(click)="selectNav('预警规则')">预警规则</span>
</div>
</div>
</div>
</div>
<div class="content">
<app-audit-ing *ngIf="selectedItem == navList[0]"></app-audit-ing>
<app-audit-record *ngIf="selectedItem == navList[1]"></app-audit-record>
<app-audit-inform-time *ngIf="selectedItem == '通知时间'"></app-audit-inform-time>
<app-annual-inspection *ngIf="selectedItem == '年检设置'"></app-annual-inspection>
<app-update-license-list *ngIf="selectedItem == navList[0]" #child2></app-update-license-list>
<app-file-license-list *ngIf="selectedItem == navList[1]" #child3></app-file-license-list>
<app-audit-ing *ngIf="selectedItem == navList[2]"></app-audit-ing>
<app-audit-record *ngIf="selectedItem == navList[3]"></app-audit-record>
<app-audit-inform-time *ngIf="selectedItem == '预警规则'"></app-audit-inform-time>
</div>
</div>

4
src/app/pages/audit/audit-nav/audit-nav.component.ts

@ -10,8 +10,8 @@ export class AuditNavComponent implements OnInit {
constructor() { }
navList = ['审批', '历史纪录']
selectedItem = '审批'
navList = ['经营类证照', '资产类证照','待办', '审批记录']
selectedItem = '经营类证照'
selectNav(item) {
this.selectedItem = item
}

28
src/app/pages/audit/audit-record/audit-record.component.html

@ -14,9 +14,9 @@
<nz-form-control>
<nz-select nzAllowClear formControlName="info" nzPlaceHolder="审批信息">
<nz-option nzValue="0" nzLabel="油站信息"></nz-option>
<nz-option nzValue="1" nzLabel="更新类证照提醒时间"></nz-option>
<nz-option nzValue="2" nzLabel="更新类证照"></nz-option>
<nz-option nzValue="3" nzLabel="档案类证照"></nz-option>
<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>
@ -91,10 +91,12 @@
<span style="margin-left: 30px;">审批类型</span>
</th>
<th>审批信息</th>
<th>加油站名称</th>
<th [nzWidth]="'16%'">区域</th>
<!-- <th>加油站名称</th>
<th [nzWidth]="'16%'">区域</th> -->
<th>省公司</th>
<th>提交时间</th>
<th>申请人</th>
<th>审批时间</th>
<th>审批人</th>
<th>审批状态</th>
<th>操作</th>
</tr>
@ -106,12 +108,12 @@
</td>
<td>
<span *ngIf="item.auditType == 0">油站信息</span>
<span *ngIf="item.auditType == 1">更新类证照提醒时间</span>
<span *ngIf="item.auditType == 2">更新类证照</span>
<span *ngIf="item.auditType == 3">档案类证照</span>
<span *ngIf="item.auditType == 1">经营类证照提醒时间</span>
<span *ngIf="item.auditType == 2">经营类证照</span>
<span *ngIf="item.auditType == 3">资产类证照</span>
</td>
<td><label *ngIf="item.gasStation">{{item.gasStation.stationName}}</label></td>
<td><label *ngIf="item.gasStation">{{item.gasStation.locationName}}</label></td>
<!-- <td><label *ngIf="item.gasStation">{{item.gasStation.stationName}}</label></td>
<td><label *ngIf="item.gasStation">{{item.gasStation.locationName}}</label></td> -->
<td>
<ng-container *ngIf="item.gasStation; else elseTemplate">
<label>{{item.gasStation.companyName}}</label>
@ -120,7 +122,9 @@
<label>{{item.organization ? item.organization.displayName : null}}</label>
</ng-template>
</td>
<td>{{item.committedTime | date:"yyyy/MM/dd HH:mm:ss"}}</td>
<td><span *ngIf="item.creatorUser">{{item.creatorUser.name || ''}}</span></td>
<td>{{item.auditTime | date:"yyyy/MM/dd HH:mm:ss"}}</td>
<td><span *ngIf="item.auditUser">{{item.auditUser.name || ''}}</span></td>
<td>{{item.auditStatusDesc}}</td>
<td class="operation">
<span class="blueColor" (click)="details(item)">详情</span>

9
src/app/pages/audit/audit-record/audit-record.component.ts

@ -22,12 +22,13 @@ export class AuditRecordComponent implements OnInit {
list = []
tableScrollHeight
resizeListener
startdate
enddate
async ngOnInit(): Promise<void> {
this.tableScrollHeight = '100px'
// 页面监听
fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.resizeListener = fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
let tableHeader = this.element.nativeElement.querySelector(`.ant-table-header`).clientHeight
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - tableHeader - 30) + 'px'
@ -59,6 +60,9 @@ export class AuditRecordComponent implements OnInit {
this.getRecordList()
}
ngOnDestroy(): void {
this.resizeListener.unsubscribe()
}
submitForm(): void {
if (this.validateForm.value.datePicker[0].toLocaleDateString) {
this.validateForm.value.datePicker[0] = this.validateForm.value.datePicker[0].toLocaleDateString()
@ -256,6 +260,9 @@ export class AuditRecordComponent implements OnInit {
data.result.handleRemindDaysDefault = data.result.licenseType.handleRemindDays
data.result.closingRemindDaysDefault = data.result.licenseType.closingRemindDays
}
if (item.auditType == 2 || item.auditType == 3) {
data.result.auditLogId = item.id
}
resolve(data.result)
})
})

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

@ -20,7 +20,7 @@
预警记录
</li>
<li [routerLink]="['/audit']" routerLinkActive="router-link-active">
审批
证照管理
</li>
</div>
<div class="libox" *ngIf="isGasStationNav">

4
src/app/pages/license/file-category/details-file-category/details-file-category.component.html

@ -7,13 +7,13 @@
</div>
<div class="content">
<p>名称: &nbsp;&nbsp;{{data.licenseTypeName}}</p>
<p>名称: &nbsp;&nbsp;{{data.licenseTypeName}}</p>
<div class="cutoffrule"></div>
<p>有无证照: &nbsp;&nbsp;<span *ngIf="data.validatyType == 0">不适用</span><span *ngIf="data.validatyType == 1"></span><span *ngIf="data.validatyType == 2"></span></p>
<div class="cutoffrule"></div>
<!-- <p>是否年检: &nbsp;&nbsp;是</p>
<div class="cutoffrule"></div> -->
<p>证件图片: &nbsp;&nbsp;
<p>附件: &nbsp;&nbsp;
<img *ngIf="data.imageUrl && getFileType(data.imageUrl) == 'img'" [src]="data.imageUrl" (click)="viewImg(data.imageUrl)">
<img *ngIf="data.imageUrl && getFileType(data.imageUrl) == 'word'" src="../../../../assets/images/license/word.png" (click)="lookFile(data)">
<img *ngIf="data.imageUrl && getFileType(data.imageUrl) == 'pdf'" src="../../../../assets/images/license/pdf.png" (click)="lookFile(data)">

11
src/app/pages/license/file-category/edit-file-category/edit-file-category.component.html

@ -6,7 +6,7 @@
<i nz-icon nzType="close" nzTheme="outline" (click)="destroyModal()"></i>
</div>
<form nz-form [formGroup]="validateForm" class="form">
<p>名称: {{data2.licenseTypeName || ''}}</p>
<p>名称: {{data2.licenseTypeName || ''}}</p>
<div class="cutoffrule"></div>
@ -31,12 +31,11 @@
<img *ngIf="data2.imageUrl && getFileType(data2.imageUrl) == 'pdf'" src="../../../../assets/images/license/pdf.png" (click)="lookFile(data2)">
<input *ngIf="!data2.imageUrl" (change)="filechange($event)" class="fileinput" type="file" name="" id="">
<button *ngIf="!data2.imageUrl" nz-button [nzLoading]=""><i nz-icon nzType="upload"
nzTheme="outline"></i>上传附件</button>
<button *ngIf="!data2.imageUrl" nz-button [nzLoading]="isLoadingSave"><i nz-icon nzType="upload" nzTheme="outline"></i>上传附件</button>
</div>
<div class="uploadDiv" *ngIf="data2.imageUrl">
<input (change)="filechange($event)" class="fileinput" type="file" name="" id="">
<button nz-button [nzLoading]=""><i nz-icon nzType="upload" nzTheme="outline"></i>重新上传</button>
<button nz-button [nzLoading]="isLoadingSave"><i nz-icon nzType="upload" nzTheme="outline"></i>重新上传</button>
</div>
</div>
@ -44,8 +43,8 @@
<textarea style="background: #173350;height: 100px;width: 100%;border-radius: 0;border: 0;color: white;" cols="30" rows="10" [(ngModel)]="data2.remark" formControlName="remark"></textarea>
<div class="btnbox">
<button nz-button type="submit" class="ok" (click)="submitReview()">提交审核</button>
<button nz-button type="submit" class="ok" (click)="ok()">保存</button>
<button nz-button type="submit" class="ok" (click)="submitReview()" [nzLoading]="isLoadingSave">提交审核</button>
<button nz-button type="submit" class="ok" (click)="ok()" [nzLoading]="isLoadingSave">保存</button>
<button nz-button type="button" class="cancel" (click)="destroyModal()">取消</button>
</div>
</form>

5
src/app/pages/license/file-category/edit-file-category/edit-file-category.component.ts

@ -57,6 +57,7 @@ export class EditFileCategoryComponent implements OnInit {
isLoadingSave: boolean = false
uploadIndex: string
filechange(e) {
this.isLoadingSave = true
let oilStationId = JSON.parse(sessionStorage.getItem('userdataOfgasstation')).organization.id
let file = e.target.files[0] || null //获取上传的文件
this.openFileSelect(file, `stationPhotos/${oilStationId}/`)
@ -84,7 +85,7 @@ export class EditFileCategoryComponent implements OnInit {
let filePath: string = ObjectsSimpleService.baseUrl + dataObj.objectName;
this.imageUrl = filePath
this.data2.imageUrl = filePath
console.log('上传成功', filePath)
this.isLoadingSave = false
resolve('success')
});
})
@ -100,7 +101,7 @@ export class EditFileCategoryComponent implements OnInit {
let filePath = dataObj.filePath
this.imageUrl = filePath
this.data2.imageUrl = filePath
console.log('上传成功', filePath)
this.isLoadingSave = false
});
}

14
src/app/pages/license/file-category/file-category.component.html

@ -4,12 +4,12 @@
[nzShowPagination]="false" [nzScroll]="{ y:tableScrollHeight }" [nzNoResult]='null' nzTableLayout="fixed">
<thead>
<tr>
<th [nzWidth]="'16%'">
<span style="margin-left: 25%;">证照名称</span>
<th [nzWidth]="'35%'">
<span style="margin-left: 10%;">证照名称</span>
</th>
<th>有无证照</th>
<!-- <th>提交时间</th>
<th>审核状态</th> -->
<!-- <th>提交时间</th> -->
<th>审核状态</th>
<th>附件</th>
<th>操作</th>
</tr>
@ -17,17 +17,17 @@
<tbody id="table">
<tr *ngFor="let item of headerTable.data;let key = index">
<td>
<span style="margin-left: 25%;">{{item.licenseTypeName || ''}}</span>
<span style="margin-left: 10%;">{{item.licenseTypeName || ''}}</span>
</td>
<td>
<span *ngIf="item.validatyType == 0">不适用</span>
<span *ngIf="item.validatyType == 1"></span>
<span *ngIf="item.validatyType == 2"></span>
</td>
<!-- <td>{{item.committedTime | date:"yyyy/MM/dd"}}<span *ngIf="!item.committedTime">未提交审核</span></td>
<!-- <td>{{item.committedTime | date:"yyyy/MM/dd"}}<span *ngIf="!item.committedTime">未提交审核</span></td> -->
<td>
<span *ngIf="item.auditLog">{{item.auditLog.auditStatusDesc || ''}}</span>
</td> -->
</td>
<td>
<img *ngIf="item.imageUrl && getFileType(item.imageUrl) == 'img'" [src]="item.imageUrl" (click)="viewImg(item.imageUrl)">
<img *ngIf="item.imageUrl && getFileType(item.imageUrl) == 'word'" src="../../../../assets/images/license/word.png" (click)="lookFile(item)">

26
src/app/pages/license/file-category/file-category.component.ts

@ -20,15 +20,22 @@ export class FileCategoryComponent implements OnInit {
list = []; //tabelData
tableScrollHeight
resizeListener
ngOnInit(): void {
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - 42) + 'px'
// 页面监听
fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.resizeListener = fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - 42) + 'px'
});
this.getStationList()
}
ngOnDestroy(): void {
this.resizeListener.unsubscribe()
}
//获取当前油站档案类证照
getStationList() {
this.tableSpin = true
@ -120,22 +127,27 @@ export class FileCategoryComponent implements OnInit {
this.message.create('warning', '请上传附件!');
return false;
}
await new Promise(resolve => {
if (instance.validatyType != '2' && !instance.data2.remark) {
this.message.create('warning', '请填写完整!');
return false;
}
instance.data2.validatyType = Number(instance.validatyType)
this.http.post('/api/services/app/StationFileLicense/Create', instance.data2).subscribe((data: any) => {
if (!instance.isSubmit) {
resolve(data);
this.http.post('/api/services/app/StationFileLicense/Create', instance.data2).subscribe((data: any) => {
this.getStationList();
this.message.create('success', '修改成功!');
return true;
} else { //提交审核
})
return false;
} else {
await new Promise(resolve => {
this.http.post('/api/services/app/StationFileLicense/Create', instance.data2).subscribe((data: any) => {
this.submitReview(data.result).then(res=>{
resolve(data);
return true;
});
}
})
})
} //else
}
});
const instance = modal.getContentComponent();

8
src/app/pages/license/histories/histories.component.html

@ -5,10 +5,10 @@
<thead>
<tr>
<th [nzWidth]="'16%'">
<span style="margin-left:30px;">名称</span>
<span style="margin-left:30px;">名称</span>
</th>
<th>编号</th>
<th>有效期</th>
<th>编号</th>
<th>有效期</th>
<th>有效期类型</th>
<th>办理类型</th>
<th>通知内容</th>
@ -32,7 +32,7 @@
{{item.licenseSnapshot.validityDays ? item.licenseSnapshot.validityDays+'天' : '/'}}
</ng-template>
</td>
<td>{{getHandleTypes(item.handleTypes)}}</td>
<td>{{getHandleTypes(item.licenseSnapshot.handleTypes)}}</td>
<td>{{item.notificationContent | notificationContent}}</td>
<td
[ngClass]="{'greenColor': item.licenseSnapshot.licenseViolationType == 1,'yellowColor': item.licenseSnapshot.licenseViolationType == 2,'redColor': item.licenseSnapshot.licenseViolationType == 3}">

7
src/app/pages/license/histories/histories.component.ts

@ -19,17 +19,20 @@ export class HistoriesComponent implements OnInit {
list = []
tableScrollHeight
resizeListener
ngOnInit(): void {
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - 42) + 'px'
// 页面监听
fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.resizeListener = fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - 42) + 'px'
});
this.getInform()
}
ngOnDestroy(): void {
this.resizeListener.unsubscribe()
}
dispose() {
console.log('处置')
}

8
src/app/pages/license/inform/inform.component.html

@ -5,10 +5,10 @@
<thead>
<tr>
<th [nzWidth]="'16%'">
<span style="margin-left: 30px;">名称</span>
<span style="margin-left: 30px;">名称</span>
</th>
<th>编号</th>
<th>有效期</th>
<th>编号</th>
<th>有效期</th>
<th>有效期类型</th>
<th>办理类型</th>
<th>通知内容</th>
@ -32,7 +32,7 @@
{{item.licenseSnapshot.validityDays ? item.licenseSnapshot.validityDays +'天' : '/'}}
</ng-template>
</td>
<td>{{getHandleTypes(item.handleTypes)}}</td>
<td>{{getHandleTypes(item.licenseSnapshot.handleTypes)}}</td>
<td>{{item.notificationContent | notificationContent}}</td>
<td
[ngClass]="{'greenColor': item.licenseSnapshot.licenseViolationType == 1,'yellowColor': item.licenseSnapshot.licenseViolationType == 2,'redColor': item.licenseSnapshot.licenseViolationType == 3}">

8
src/app/pages/license/inform/inform.component.ts

@ -16,19 +16,21 @@ export class InformComponent implements OnInit {
tableScrollHeight
fromEvent
resizeListener
ngOnInit(): void {
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - 42) + 'px'
// 页面监听
this.fromEvent = fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.resizeListener = fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - 42) + 'px'
});
this.getInform()
}
ngOnDestroy(): void {
this.resizeListener.unsubscribe()
}
dispose() {

29
src/app/pages/license/update-category/details-update-category/details-update-category.component.html

@ -7,24 +7,37 @@
</div>
<div class="content">
<p>名称: &nbsp;&nbsp;{{data.licenseTypeName || ''}}</p>
<p>名称: &nbsp;&nbsp;{{data.licenseTypeName || ''}}</p>
<div class="cutoffrule"></div>
<p>编号: &nbsp;&nbsp;{{data.licenseCode || ''}}</p>
<p>编号: &nbsp;&nbsp;{{data.licenseCode || ''}}</p>
<div class="cutoffrule"></div>
<p>件有效期: &nbsp;&nbsp;<span *ngIf="!data.isLongTerm">{{data.validityStartTime | date:"yyyy/MM/dd"}} - </span>{{data.validityEndTime | date:"yyyy/MM/dd"}}</p>
<p>照效期: &nbsp;&nbsp;{{data.isLongTerm ? '长期证照' : (data.validityEndTime | date:"yyyy/MM/dd")}}</p>
<div class="cutoffrule"></div>
<p>办理类型: &nbsp;&nbsp;{{getHandleTypes(data.handleTypes)}}</p>
<p>办理类型: &nbsp;&nbsp;{{getHandleTypes(data.handleTypesDefault)}}</p>
<div class="cutoffrule"></div>
<p>有效期类型: &nbsp;&nbsp;{{data.validityDays || 0}}天</p>
<p>有效天数: &nbsp;&nbsp;
<ng-container *ngIf="data.isLongTerm; else elseTemplate">
长期
</ng-container>
<ng-template #elseTemplate>
{{data.validityDays ? data.validityDays+'天' : '/'}}
</ng-template>
</p>
<div class="cutoffrule"></div>
<!-- <p>是否年检: &nbsp;&nbsp;<span *ngIf="data.isYearlyCheck">是</span><span *ngIf="!data.isYearlyCheck">否</span></p>
<div class="cutoffrule"></div> -->
<p>证件图片: &nbsp;&nbsp;
<p>附件: &nbsp;&nbsp;
<img *ngIf="data.imageUrl && getFileType(data.imageUrl) == 'img'" [src]="data.imageUrl" (click)="viewImg(data.imageUrl)">
<img *ngIf="data.imageUrl && getFileType(data.imageUrl) == 'word'" src="../../../../assets/images/license/word.png" (click)="lookFile(data)">
<img *ngIf="data.imageUrl && getFileType(data.imageUrl) == 'pdf'" src="../../../../assets/images/license/pdf.png" (click)="lookFile(data)">
<img *ngIf="data.imageUrl && getFileType(data.imageUrl) == 'word'" src="../../../../assets/images/license/word.png" (click)="lookFile(data.imageUrl)">
<img *ngIf="data.imageUrl && getFileType(data.imageUrl) == 'pdf'" src="../../../../assets/images/license/pdf.png" (click)="lookFile(data.imageUrl)">
</p>
<div class="cutoffrule"></div>
<p *ngIf="data.hasAttachmentDefault && data.attachment">附件副本: &nbsp;&nbsp;
<img *ngIf="data.attachment && getFileType(data.attachment) == 'img'" [src]="data.attachment" (click)="viewImg(data.attachment)">
<img *ngIf="data.attachment && getFileType(data.attachment) == 'word'" src="../../../../assets/images/license/word.png" (click)="lookFile(data.attachment)">
<img *ngIf="data.attachment && getFileType(data.attachment) == 'pdf'" src="../../../../assets/images/license/pdf.png" (click)="lookFile(data.attachment)">
</p>
<div class="cutoffrule" *ngIf="data.hasAttachmentDefault && data.attachment"></div>
<p class="recordP" style="margin-bottom: 32px">
<span>审核记录</span>
<span>

10
src/app/pages/license/update-category/details-update-category/details-update-category.component.ts

@ -91,15 +91,15 @@ export class DetailsUpdateCategoryComponent implements OnInit {
//查看文件
lookFile(item) {
if (!item.imageUrl) {
if (!item) {
return
}
if (this.getFileType(item.imageUrl) == 'word') {
let arr = item.imageUrl.split('.')
if (this.getFileType(item) == 'word') {
let arr = item.split('.')
arr[arr.length - 1] = 'pdf'
window.open(arr.join('.'))
} else if (this.getFileType(item.imageUrl) == 'pdf') {
window.open(item.imageUrl)
} else if (this.getFileType(item) == 'pdf') {
window.open(item)
} else {
this.message.create('warning', '暂不支持查看!');
}

52
src/app/pages/license/update-category/edit-update-category/edit-update-category.component.html

@ -6,20 +6,20 @@
<i nz-icon nzType="close" nzTheme="outline" (click)="destroyModal()"></i>
</div>
<form nz-form [formGroup]="validateForm" class="form">
<p>名称: {{data2.licenseTypeName}}</p>
<p>名称: {{data2.licenseTypeName}}</p>
<div class="cutoffrule"></div>
<p>编号<span style="color: red;">*</span></p>
<p>编号<span style="color: red;">*</span></p>
<nz-form-item>
<nz-form-control>
<nz-input-group>
<input nz-input type="text" formControlName="number" placeholder="请输入证编号" [(ngModel)]="data2.licenseCode"/>
<input nz-input type="text" formControlName="number" placeholder="请输入证编号" [(ngModel)]="data2.licenseCode"/>
</nz-input-group>
</nz-form-control>
</nz-form-item>
<p>件有效期<span style="color: red;">*</span></p>
<p>效期<span style="color: red;">*</span></p>
<div class="validity">
<label nz-checkbox (ngModelChange)="validityChange($event)" [(ngModel)]="data2.isLongTerm" formControlName="isLongTerm">
@ -34,37 +34,41 @@
<!-- <span>是否年检: <span *ngIf="data2.isYearlyCheck">是</span><span *ngIf="!data2.isYearlyCheck">否</span></span> -->
</p>
<p>办理类型</p>
<nz-form-item>
<nz-form-control>
<nz-select formControlName="type" nzMode="multiple" [(ngModel)]="data2.handleTypes">
<nz-option [nzValue]="item.value" [nzLabel]="item.name" *ngFor="let item of handleTypeList"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<p>办理类型: &nbsp;&nbsp;{{getHandleTypes(data2.handleTypesDefault)}}</p>
<p>附件上传(图片格式、pdf格式、word格式)</p>
<div class="uploadDivbox">
<div class="uploadDiv" style="margin-right: 12px;">
<div class="uploadDiv">
<img *ngIf="data2.imageUrl && getFileType(data2.imageUrl) == 'img'" style="width: 100%;height: 100%;cursor: pointer;" [src]="data2.imageUrl" (click)="viewImg(data2.imageUrl)">
<img *ngIf="data2.imageUrl && getFileType(data2.imageUrl) == 'word'" src="../../../../assets/images/license/word.png" (click)="lookFile(data2)">
<img *ngIf="data2.imageUrl && getFileType(data2.imageUrl) == 'pdf'" src="../../../../assets/images/license/pdf.png" (click)="lookFile(data2)">
<img *ngIf="data2.imageUrl && getFileType(data2.imageUrl) == 'word'" src="../../../../assets/images/license/word.png" (click)="lookFile(data2.imageUrl)">
<img *ngIf="data2.imageUrl && getFileType(data2.imageUrl) == 'pdf'" src="../../../../assets/images/license/pdf.png" (click)="lookFile(data2.imageUrl)">
<input *ngIf="!data2.imageUrl" (change)="filechange($event,true)" class="fileinput" type="file" name="" id="">
<button *ngIf="!data2.imageUrl" nz-button [nzLoading]="isLoadingSave"><i nz-icon nzType="upload" nzTheme="outline"></i>上传附件</button>
</div>
<div class="uploadDiv" *ngIf="data2.imageUrl" style="margin: 0 10px;">
<input (change)="filechange($event,true)" class="fileinput" type="file" name="" id="">
<button nz-button [nzLoading]="isLoadingSave"><i nz-icon nzType="upload" nzTheme="outline"></i>重新上传</button>
</div>
<div class="uploadDiv" *ngIf="data2.hasAttachmentDefault" style="margin: 0 10px;">
<img *ngIf="data2.attachment && getFileType(data2.attachment) == 'img'" style="width: 100%;height: 100%;cursor: pointer;" [src]="data2.attachment" (click)="viewImg(data2.attachment)">
<img *ngIf="data2.attachment && getFileType(data2.attachment) == 'word'" src="../../../../assets/images/license/word.png" (click)="lookFile(data2.attachment)">
<img *ngIf="data2.attachment && getFileType(data2.attachment) == 'pdf'" src="../../../../assets/images/license/pdf.png" (click)="lookFile(data2.attachment)">
<input *ngIf="!data2.imageUrl" (change)="filechange($event)" class="fileinput" type="file" name="" id="">
<button *ngIf="!data2.imageUrl" nz-button [nzLoading]=""><i nz-icon nzType="upload"
nzTheme="outline"></i>上传附件</button>
<input *ngIf="!data2.attachment" (change)="filechange($event,false)" class="fileinput" type="file" name="" id="">
<button *ngIf="!data2.attachment" nz-button [nzLoading]="isLoadingSave">上传附件副本</button>
</div>
<div class="uploadDiv" *ngIf="data2.imageUrl">
<input (change)="filechange($event)" class="fileinput" type="file" name="" id="">
<button nz-button [nzLoading]=""><i nz-icon nzType="upload" nzTheme="outline"></i>重新上传</button>
<div class="uploadDiv" *ngIf="data2.attachment && data2.hasAttachmentDefault">
<input (change)="filechange($event,false)" class="fileinput" type="file" name="" id="">
<button nz-button [nzLoading]="isLoadingSave">重新上传副本</button>
</div>
</div>
<div class="btnbox">
<button nz-button type="submit" class="ok" (click)="submitReview()">提交审核</button>
<button nz-button type="submit" class="ok" (click)="ok()">保存</button>
<button nz-button type="submit" class="ok" (click)="submitReview()" [nzLoading]="isLoadingSave">提交审核</button>
<button nz-button type="submit" class="ok" (click)="ok()" [nzLoading]="isLoadingSave">保存</button>
<button nz-button type="button" class="cancel" (click)="destroyModal()">取消</button>
</div>
</form>

47
src/app/pages/license/update-category/edit-update-category/edit-update-category.component.ts

@ -27,7 +27,6 @@ export class EditUpdateCategoryComponent implements OnInit {
this.validateForm = this.fb.group({
number: [null, [Validators.required]],
isLongTerm: [null, [Validators.required]],
type: [null, [Validators.required]],
isLongTermTime: [null,],
isNoLongTermTime: [null,],
});
@ -104,6 +103,22 @@ export class EditUpdateCategoryComponent implements OnInit {
}
}
//获取办理类型
getHandleTypes(handleTypes: any[]):string {
if (!handleTypes || !handleTypes.length) {
return
}
let names: string[] = []
let handleTypeList = JSON.parse(JSON.stringify(handleTypes));
let list: handleTypeList[] = new handleType().list;
handleTypeList.forEach(item=>{
list.find(element=>{
item == element.value? names.push(element.name) : null
})
})
return names.join(',')
}
//获取文件格式
getFileType(name: string):string {
let suffix
@ -119,25 +134,27 @@ export class EditUpdateCategoryComponent implements OnInit {
//查看文件
lookFile(item) {
if (!item.imageUrl) {
if (!item) {
return
}
if (this.getFileType(item.imageUrl) == 'word') {
let arr = item.imageUrl.split('.')
if (this.getFileType(item) == 'word') {
let arr = item.split('.')
arr[arr.length - 1] = 'pdf'
window.open(arr.join('.'))
} else if (this.getFileType(item.imageUrl) == 'pdf') {
window.open(item.imageUrl)
} else if (this.getFileType(item) == 'pdf') {
window.open(item)
} else {
this.message.create('warning', '暂不支持查看!');
}
}
uploadType: boolean; //是否是上传副本
isLoadingSave: boolean = false
uploadIndex: string
filechange(e) {
filechange(e, type: boolean) {
this.uploadType = type
this.isLoadingSave = true
let oilStationId = JSON.parse(sessionStorage.getItem('userdataOfgasstation')).organization.id
let file = e.target.files[0] || null //获取上传的文件
this.openFileSelect(file, `stationPhotos/${oilStationId}/`)
@ -163,9 +180,12 @@ export class EditUpdateCategoryComponent implements OnInit {
this.objectsSrv.postFile(this.postFilePath, file).subscribe(data => {
let dataObj = data as any;
let filePath: string = ObjectsSimpleService.baseUrl + dataObj.objectName;
this.imageUrl = filePath
if (this.uploadType){
this.data2.imageUrl = filePath
console.log('上传成功', filePath)
} else {
this.data2.attachment = filePath
}
this.isLoadingSave = false
resolve('success')
});
})
@ -179,9 +199,12 @@ export class EditUpdateCategoryComponent implements OnInit {
this.objectsSrv.postFile_MultipartUpload(this.postFilePath, file).then((value) => {
let dataObj = value as any;
let filePath = dataObj.filePath
this.imageUrl = filePath
if (this.uploadType){
this.data2.imageUrl = filePath
console.log('上传成功', filePath)
} else {
this.data2.attachment = filePath
}
this.isLoadingSave = false
});
}

19
src/app/pages/license/update-category/update-category.component.html

@ -12,8 +12,8 @@
<th>有效天数</th>
<th>办理类型</th>
<!-- <th>是否年检</th>
<th>提交时间</th>
<th>审核状态</th> -->
<th>提交时间</th> -->
<th>审核状态</th>
<th>预警状态</th>
<th>附件</th>
<th>操作</th>
@ -35,12 +35,12 @@
</ng-template>
</td>
<td>{{getHandleTypes(item.handleTypes)}}</td>
<td>{{getHandleTypes(item.handleTypesDefault)}}</td>
<!-- <td><span *ngIf="item.isYearlyCheck">是</span><span *ngIf="!item.isYearlyCheck">否</span></td>
<td>{{item.committedTime | date:"yyyy/MM/dd"}}<span *ngIf="!item.committedTime">未提交审核</span></td>
<td>{{item.committedTime | date:"yyyy/MM/dd"}}<span *ngIf="!item.committedTime">未提交审核</span></td> -->
<td>
<span *ngIf="item.auditLog">{{item.auditLog.auditStatusDesc || ''}}</span>
</td> -->
</td>
<td>
<span *ngIf="item.licenseViolationType == 0"></span>
<span *ngIf="item.licenseViolationType == 1">办理提醒</span>
@ -49,8 +49,13 @@
</td>
<td>
<img *ngIf="item.imageUrl && getFileType(item.imageUrl) == 'img'" [src]="item.imageUrl" (click)="viewImg(item.imageUrl)">
<img *ngIf="item.imageUrl && getFileType(item.imageUrl) == 'word'" src="../../../../assets/images/license/word.png" (click)="lookFile(item)">
<img *ngIf="item.imageUrl && getFileType(item.imageUrl) == 'pdf'" src="../../../../assets/images/license/pdf.png" (click)="lookFile(item)">
<img *ngIf="item.imageUrl && getFileType(item.imageUrl) == 'word'" src="../../../../assets/images/license/word.png" (click)="lookFile(item.imageUrl)">
<img *ngIf="item.imageUrl && getFileType(item.imageUrl) == 'pdf'" src="../../../../assets/images/license/pdf.png" (click)="lookFile(item.imageUrl)">
<label *ngIf="item.attachment && item.hasAttachmentDefault" style="margin-left: 10px;">
<img *ngIf="item.attachment && getFileType(item.attachment) == 'img'" [src]="item.attachment" (click)="viewImg(item.attachment)">
<img *ngIf="item.attachment && getFileType(item.attachment) == 'word'" src="../../../../assets/images/license/word.png" (click)="lookFile(item.attachment)">
<img *ngIf="item.attachment && getFileType(item.attachment) == 'pdf'" src="../../../../assets/images/license/pdf.png" (click)="lookFile(item.attachment)">
</label>
</td>
<td class="operation">
<span class="blueColor" (click)="edit(item)">编辑</span>

41
src/app/pages/license/update-category/update-category.component.ts

@ -21,15 +21,18 @@ export class UpdateCategoryComponent implements OnInit {
list = []
tableScrollHeight
resizeListener
ngOnInit(): void {
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - 42) + 'px'
// 页面监听
fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.resizeListener = fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - 42) + 'px'
});
this.getStationList()
}
ngOnDestroy(): void {
this.resizeListener.unsubscribe()
}
//获取当前油站档案类证照
getStationList() {
this.tableSpin = true
@ -93,15 +96,15 @@ export class UpdateCategoryComponent implements OnInit {
//查看文件
lookFile(item) {
if (!item.imageUrl) {
if (!item) {
return
}
if (this.getFileType(item.imageUrl) == 'word') {
let arr = item.imageUrl.split('.')
if (this.getFileType(item) == 'word') {
let arr = item.split('.')
arr[arr.length - 1] = 'pdf'
window.open(arr.join('.'))
} else if (this.getFileType(item.imageUrl) == 'pdf') {
window.open(item.imageUrl)
} else if (this.getFileType(item) == 'pdf') {
window.open(item)
} else {
this.message.create('warning', '暂不支持查看!');
}
@ -133,33 +136,41 @@ export class UpdateCategoryComponent implements OnInit {
nzFooter: null,
nzClosable: false,
nzOnOk: async () => {
if (!instance.data2.imageUrl) {
this.message.create('warning', '请上传附件!');
return false;
}
if (instance.data2.hasAttachmentDefault && !instance.data2.attachment) {
this.message.create('warning', '请上传附件副本!');
return false;
}
if (instance.validateForm.valid) {
await new Promise(resolve => {
let body = instance.data2
// 日期
if (body.isLongTerm) {
body.validityStartTime = instance.isLongTermTime || new Date()
} else {
body.validityStartTime = instance.isNoLongTermTime[0] || new Date()
body.validityEndTime = instance.isNoLongTermTime[1] || new Date()
}
this.http.post('/api/services/app/StationValidityLicense/Create', body).subscribe((data:any) => {
if (!instance.isSubmit) {
resolve(data);
this.http.post('/api/services/app/StationValidityLicense/Create', body).subscribe((data:any) => {
this.getStationList();
this.message.create('success', '修改成功!');
return true;
} else { //提交审核
})
return false;
} else {
await new Promise(resolve => {
this.http.post('/api/services/app/StationValidityLicense/Create', body).subscribe((data:any) => {
this.submitReview(data.result).then(res=>{
resolve(data);
return true;
});
}
})
})
} //else
} else {
this.message.create('warning', '请填写完整!');
return false
return false;
}
}
});

2
src/app/pages/oil-unloading-process-list/oil-unloading-process-list.component.html

@ -36,7 +36,7 @@
<div class="rightbox" style="position: relative;">
<span class="chartname">
<img src="../../../assets/images/flower.png" alt="">
近30天卸油作业总数走势
近30天卸油作业走势
</span>
<div class="barchart" id="barchart">

30
src/app/pages/oil-unloading-process-list/oil-unloading-process-list.component.ts

@ -235,7 +235,7 @@ export class OilUnloadingProcessListComponent implements OnInit {
barWidth: '25%'
},
{
name: '卸油事件',
name: '卸油预警',
data: [],
type: 'line',
symbol: 'circle',
@ -254,17 +254,17 @@ export class OilUnloadingProcessListComponent implements OnInit {
}
}
],
// legend: {
// selectedMode: false, // 是否允许点击
// data: ['卸油事件'],
// textStyle: {
// color: '#fff'
// },
// right: 28,
// top: 18,
// itemWidth: 8,
// itemHeight: 8,
// },
legend: {
selectedMode: false, // 是否允许点击
data: ['卸油事件','卸油预警'],
textStyle: {
color: '#fff'
},
right: 28,
top: 18,
itemWidth: 8,
itemHeight: 8,
},
grid: {
left: '42px',
right: '30px',
@ -495,13 +495,17 @@ export class OilUnloadingProcessListComponent implements OnInit {
//柱状图
let monthArr = []
let valuedata = []
let valuedata2 = []
data.list.forEach(element => {
monthArr.push(moment(element.key).format('MM.DD'))
valuedata.push(element.totalCount)
let item = Number(element.proccessBeforeCount + element.proccessingCount)
valuedata2.push(item)
});
// console.log('卸油预警',valuedata2)
this.oilchartbarOption.xAxis.data = monthArr
this.oilchartbarOption.series[0].data = valuedata
this.oilchartbarOption.series[1].data = valuedata
this.oilchartbarOption.series[1].data = valuedata2
this.mybarChart.setOption(this.oilchartbarOption);
}
refreshEchartsData2(data) {

25
src/app/pages/plan-admin/file-license-list/file-license-list.component.html

@ -1,8 +1,25 @@
<div class="box">
<div class="box" id="statisticsList">
<div class="search">
<div class="legendbox">
</div>
<form nz-form [formGroup]="validateForm" class="login-form" (ngSubmit)="submitForm()">
<nz-form-item class="searchParams">
<nz-form-control>
<nz-tree-select [nzAllowClear]="false" [nzDropdownClassName]="'maxHeightTreeSelect'" nzShowSearch
formControlName="organization" [nzNodes]="nodes" nzPlaceHolder="请选择所属机构"
[nzExpandedIcon]="multiExpandedIconTpl">
</nz-tree-select>
<ng-template #multiExpandedIconTpl let-node let-origin="origin">
<ng-container *ngIf="node.children.length == 0; else elseTemplate">
</ng-container>
<ng-template #elseTemplate>
<i nz-icon [nzType]="node.isExpanded ? 'caret-down' : 'caret-right'"
class="ant-tree-switcher-line-icon"></i>
</ng-template>
</ng-template>
</nz-form-control>
</nz-form-item>
<nz-form-item class="searchParams">
<nz-form-control>
<nz-input-group>
@ -21,6 +38,12 @@
[nzType]="'sync'"></i>重置</button>
</nz-form-control>
</nz-form-item>
<nz-form-item class="btn">
<nz-form-control>
<button nz-button type="button" class="reset" (click)="exportExcel()"><i nz-icon
[nzType]="'file'"></i>导出文档</button>
</nz-form-control>
</nz-form-item>
</form>
</div>
<div class="tablebox" id="tablebox">

8
src/app/pages/plan-admin/file-license-list/file-license-list.component.scss

@ -1,10 +1,9 @@
.search {
box-sizing: border-box;
padding-left: 38px;
padding-right: 35px;
padding-right: 5px;
width: 100%;
height: 32px;
margin: 12px 0;
margin-bottom: 12px;
display: flex;
justify-content: space-between;
align-items: center;
@ -41,7 +40,8 @@
}
.searchParams {
width: 35%;
width: 30%;
margin-left: 16px;
}
.btn {

125
src/app/pages/plan-admin/file-license-list/file-license-list.component.ts

@ -11,6 +11,7 @@ import { debounceTime } from 'rxjs/operators';
import 'linqjs';
import { DetailsUpdateCategoryComponent } from '../../license/update-category/details-update-category/details-update-category.component';
import { NzModalService } from 'ng-zorro-antd/modal';
import { NzMessageService } from 'ng-zorro-antd/message';
@Component({
selector: 'app-file-license-list',
@ -20,27 +21,65 @@ import { NzModalService } from 'ng-zorro-antd/modal';
export class FileLicenseListComponent implements OnInit {
validateForm!: FormGroup;
constructor(private modal: NzModalService, private viewContainerRef: ViewContainerRef, private element: ElementRef, private navChangeService: NavChangeService, private http: HttpClient, private toTree: TreeService, private fb: FormBuilder, private nzContextMenuService: NzContextMenuService, private router: Router) { }
constructor(private modal: NzModalService, private viewContainerRef: ViewContainerRef, private element: ElementRef, private navChangeService: NavChangeService, private http: HttpClient, private toTree: TreeService, private fb: FormBuilder, private nzContextMenuService: NzContextMenuService, private router: Router, private message: NzMessageService) { }
tableScrollHeight
ngOnInit(): void {
resizeListener
async ngOnInit(): Promise<void> {
this.tableScrollHeight = '100px'
console.log('tableScrollHeight', this.tableScrollHeight)
// 页面监听
fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.resizeListener = fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
let tableHeader = this.element.nativeElement.querySelector(`.ant-table-header`).clientHeight
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - tableHeader - 30) + 'px'
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - tableHeader - 10) + 'px'
});
this.validateForm = this.fb.group({
organization: [null],
name: [null]
});
this.tableSpin = true
await this.getAllOrganization()
this.getStationLicenses()
}
ngAfterViewInit(): void {
ngOnDestroy(): void {
this.resizeListener.unsubscribe()
}
//获取所有组织机构
nodes: any = []
async getAllOrganization() {
let OrganizationUnitId = JSON.parse(sessionStorage.getItem('userdata')).organization.id
let params = {
OrganizationUnitId: OrganizationUnitId,
IsContainsChildren: "true"
}
await new Promise((resolve, reject) => {
this.http.get('/api/services/app/Organization/GetAll', {
params: params
}).subscribe((data: any) => {
data.result.items.forEach(element => {
if (element.id == OrganizationUnitId) {
element.parentId = null
}
element.key = element.id
element.title = element.displayName
});
this.nodes = [...this.toTree.toTree(data.result.items)]
this.validateForm.patchValue({
organization: JSON.parse(sessionStorage.getItem('userdata')).organization.id,
});
resolve(data)
})
})
}
ngAfterViewInit(): void {
fromEvent(this.element.nativeElement.querySelector(`.ant-table-body`) as HTMLCanvasElement, 'scroll').pipe(debounceTime(100)).subscribe(async (event: any) => { //监听 DOM 滚动事件
if (event.target.scrollHeight - (event.target.scrollTop + event.target.clientHeight) <= 10) {
if (this.totalCount > this.list.length) {
@ -68,6 +107,9 @@ export class FileLicenseListComponent implements OnInit {
this.validateForm.controls[key].markAsPristine();
this.validateForm.controls[key].updateValueAndValidity();
}
this.validateForm.patchValue({
organization: JSON.parse(sessionStorage.getItem('userdata')).organization.id,
});
this.list = []
this.SkipCount = '0'
this.getStationLicenses()
@ -84,7 +126,7 @@ export class FileLicenseListComponent implements OnInit {
async getStationLicenses() {
let params = {
StationName: this.validateForm.value.name,
OrganizationUnitId: String(sessionStorage.getItem('planAdminOrid')),
OrganizationUnitId: this.validateForm.value.organization,
IsContainsChildren: 'true',
SkipCount: this.SkipCount,
MaxResultCount: this.MaxResultCount,
@ -124,18 +166,16 @@ export class FileLicenseListComponent implements OnInit {
});
this.list = this.list.concat(arr);
this.list = [...this.list]
console.log('证照表格', this.list)
this.tableSpin = false
setTimeout(() => {
let tableHeader = this.element.nativeElement.querySelector(`.ant-table-header`).clientHeight
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - tableHeader - 30) + 'px'
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - tableHeader - 10) + 'px'
}, 0);
this.list = this.list.concat(arr);
this.list = [...this.list]
console.log('证照表格', this.list)
this.tableSpin = false
resolve(data)
})
@ -148,37 +188,28 @@ export class FileLicenseListComponent implements OnInit {
}
lookDetails(i) {
// console.log(i)
// let params = {
// Id: i.licenseId
// }
// this.http.get('/api/services/app/StationValidityLicense/Get', { params: params }).subscribe((data: any) => {
// console.log('证照信息', data)
// const modal = this.modal.create({
// nzContent: DetailsUpdateCategoryComponent,
// nzViewContainerRef: this.viewContainerRef,
// nzWidth: 450,
// nzBodyStyle: {
// 'border': '1px solid #91CCFF',
// 'border-radius': '0px',
// 'padding': '7px',
// 'box-shadow': '0 0 8px 0 #fff',
// 'background-image': 'linear-gradient(#003665, #000f25)'
// },
// nzComponentParams: {
// data: data.result
// },
// nzFooter: null,
// nzClosable: false,
// nzOnOk: async () => {
// }
// });
// const instance = modal.getContentComponent();
// modal.afterClose.subscribe(result => { });
// })
exportExcel() {
// console.log(this.validateForm)
const httpOptions = {
responseType: 'blob' as 'json',
params: {
OrganizationUnitId: this.validateForm.value.organization
}
};
this.http.get(`/api/services/app/StationFileLicense/ExportStationLicenses`, httpOptions).subscribe((data: any) => {
// console.log('导出成功')
// 文件名中有中文 则对文件名进行转码
const link = document.createElement('a');
const blob = new Blob([data], { type: 'application/vnd.ms-excel' });
link.setAttribute('href', window.URL.createObjectURL(blob));
link.setAttribute('download', '资产类证照' + '.xls');
link.style.visibility = 'hidden';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
this.message.create('success', `导出成功`);
}, err => {
this.message.create('error', `导出失败`);
})
}
}

7
src/app/pages/plan-admin/oil-station-list/oil-station-list.component.ts

@ -19,13 +19,13 @@ export class OilStationListComponent implements OnInit {
constructor(private element: ElementRef, private navChangeService: NavChangeService, private http: HttpClient, private toTree: TreeService, private fb: FormBuilder, private nzContextMenuService: NzContextMenuService, private router: Router) { }
tableScrollHeight
resizeListener
ngOnInit(): void {
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - 42) + 'px'
console.log('tableScrollHeight', this.tableScrollHeight)
// 页面监听
fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.resizeListener = fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - 42) + 'px'
});
this.validateForm = this.fb.group({
@ -34,6 +34,9 @@ export class OilStationListComponent implements OnInit {
this.tableSpin = true
}
ngOnDestroy(): void {
this.resizeListener.unsubscribe()
}
ngAfterViewInit(): void {
fromEvent(this.element.nativeElement.querySelector(`.ant-table-body`) as HTMLCanvasElement, 'scroll').pipe(debounceTime(100)).subscribe(async (event: any) => { //监听 DOM 滚动事件
if (event.target.scrollHeight - (event.target.scrollTop + event.target.clientHeight) <= 10) {

10
src/app/pages/plan-admin/plan-admin.component.html

@ -30,9 +30,9 @@
<img src="../../../assets/images/logosm.png" alt="">
<div class="content">
<div class="contentitem">
<span class="grey" (click)="selectTab(0)" [ngClass]="{'selectedItem': selectedTab == 0}">管理</span>
<span class="grey" (click)="selectTab(1)" [ngClass]="{'selectedItem': selectedTab == 1}">更新类证照</span>
<span class="grey" (click)="selectTab(2)" [ngClass]="{'selectedItem': selectedTab == 2}">档案类证照</span>
<span class="grey" [ngClass]="{'selectedItem': selectedTab == 0}">站管理</span>
<!-- <span class="grey" (click)="selectTab(1)" [ngClass]="{'selectedItem': selectedTab == 1}">经营类证照</span>
<span class="grey" (click)="selectTab(2)" [ngClass]="{'selectedItem': selectedTab == 2}">资产类证照</span> -->
</div>
</div>
</div>
@ -40,11 +40,11 @@
<div class="tabbox" *ngIf="selectedTab == 0">
<app-oil-station-list style="width: 100%;height: 100%;" #child></app-oil-station-list>
</div>
<div class="tabbox" *ngIf="selectedTab == 1">
<!-- <div class="tabbox" *ngIf="selectedTab == 1">
<app-update-license-list style="width: 100%;height: 100%;" #child2></app-update-license-list>
</div>
<div class="tabbox" *ngIf="selectedTab == 2">
<app-file-license-list style="width: 100%;height: 100%;" #child3></app-file-license-list>
</div>
</div> -->
</div>
</div>

30
src/app/pages/plan-admin/update-license-list/update-license-list.component.html

@ -1,4 +1,4 @@
<div class="box">
<div class="box" id="statisticsList">
<div class="search">
<div class="legendbox">
<div class="legendItem">
@ -12,6 +12,25 @@
</div>
</div>
<form nz-form [formGroup]="validateForm" class="login-form" (ngSubmit)="submitForm()">
<nz-form-item class="searchParams">
<nz-form-control>
<nz-tree-select [nzAllowClear]="false" [nzDropdownClassName]="'maxHeightTreeSelect'" nzShowSearch
formControlName="organization" [nzNodes]="nodes" nzPlaceHolder="请选择所属机构"
[nzExpandedIcon]="multiExpandedIconTpl">
</nz-tree-select>
<ng-template #multiExpandedIconTpl let-node let-origin="origin">
<ng-container *ngIf="node.children.length == 0; else elseTemplate">
</ng-container>
<ng-template #elseTemplate>
<i nz-icon [nzType]="node.isExpanded ? 'caret-down' : 'caret-right'"
class="ant-tree-switcher-line-icon"></i>
</ng-template>
</ng-template>
</nz-form-control>
</nz-form-item>
<nz-form-item class="searchParams">
<nz-form-control>
<nz-input-group>
@ -30,6 +49,12 @@
[nzType]="'sync'"></i>重置</button>
</nz-form-control>
</nz-form-item>
<nz-form-item class="btn">
<nz-form-control>
<button nz-button type="button" class="reset" (click)="exportExcel()"><i nz-icon
[nzType]="'file'"></i>导出文档</button>
</nz-form-control>
</nz-form-item>
</form>
</div>
<div class="tablebox" id="tablebox">
@ -51,7 +76,8 @@
<td *ngFor="let i of item">
<ng-container *ngIf="i.value; else elseTemplate">
<ng-container *ngIf="i.value.endDate; else elseTemplate">
<span (click)="lookDetails(i.value)" style="cursor: pointer;" [ngClass]="{'green': i.value.licenseViolationType == 1,'yellow': i.value.licenseViolationType == 2,'red': i.value.licenseViolationType == 3}">
<span (click)="lookDetails(i.value)" style="cursor: pointer;"
[ngClass]="{'green': i.value.licenseViolationType == 1,'yellow': i.value.licenseViolationType == 2,'red': i.value.licenseViolationType == 3}">
{{i.value.endDate | date:"yyyy-MM-dd"}}
</span>
</ng-container>

21
src/app/pages/plan-admin/update-license-list/update-license-list.component.scss

@ -1,10 +1,16 @@
.box {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
.search {
box-sizing: border-box;
padding-left: 38px;
padding-right: 35px;
padding-right: 5px;
width: 100%;
height: 32px;
margin: 12px 0;
margin-bottom: 12px;
display: flex;
justify-content: space-between;
align-items: center;
@ -41,7 +47,8 @@
}
.searchParams {
width: 35%;
width: 30%;
margin-left: 16px;
}
.btn {
@ -50,12 +57,6 @@
}
}
.box {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
.tablebox {
flex: 1;

110
src/app/pages/plan-admin/update-license-list/update-license-list.component.ts

@ -11,6 +11,7 @@ import { debounceTime } from 'rxjs/operators';
import 'linqjs';
import { DetailsUpdateCategoryComponent } from '../../license/update-category/details-update-category/details-update-category.component';
import { NzModalService } from 'ng-zorro-antd/modal';
import { NzMessageService } from 'ng-zorro-antd/message';
@Component({
selector: 'app-update-license-list',
templateUrl: './update-license-list.component.html',
@ -19,29 +20,66 @@ import { NzModalService } from 'ng-zorro-antd/modal';
export class UpdateLicenseListComponent implements OnInit {
validateForm!: FormGroup;
constructor(private modal: NzModalService, private viewContainerRef: ViewContainerRef, private element: ElementRef, private navChangeService: NavChangeService, private http: HttpClient, private toTree: TreeService, private fb: FormBuilder, private nzContextMenuService: NzContextMenuService, private router: Router) { }
constructor(private modal: NzModalService, private viewContainerRef: ViewContainerRef, private element: ElementRef, private navChangeService: NavChangeService, private http: HttpClient, private toTree: TreeService, private fb: FormBuilder, private nzContextMenuService: NzContextMenuService, private router: Router, private message: NzMessageService) { }
tableScrollHeight
resizeListener
async ngOnInit(): Promise<void> {
ngOnInit(): void {
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - 42) + 'px'
console.log('tableScrollHeight', this.tableScrollHeight)
this.tableScrollHeight = '100px'
// 页面监听
fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - 42) + 'px'
this.resizeListener = fromEvent(window, 'resize').pipe(debounceTime(100)).subscribe((event) => {
let tableHeader = this.element.nativeElement.querySelector(`.ant-table-header`).clientHeight
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - tableHeader - 10) + 'px'
});
this.validateForm = this.fb.group({
organization: [null],
name: [null]
});
this.tableSpin = true
await this.getAllOrganization()
this.getStationLicenses()
}
ngAfterViewInit(): void {
ngOnDestroy(): void {
this.resizeListener.unsubscribe()
}
//获取所有组织机构
nodes: any = []
async getAllOrganization() {
let OrganizationUnitId = JSON.parse(sessionStorage.getItem('userdata')).organization.id
let params = {
OrganizationUnitId: OrganizationUnitId,
IsContainsChildren: "true"
}
await new Promise((resolve, reject) => {
this.http.get('/api/services/app/Organization/GetAll', {
params: params
}).subscribe((data: any) => {
data.result.items.forEach(element => {
if (element.id == OrganizationUnitId) {
element.parentId = null
}
element.key = element.id
element.title = element.displayName
});
this.nodes = [...this.toTree.toTree(data.result.items)]
this.validateForm.patchValue({
organization: JSON.parse(sessionStorage.getItem('userdata')).organization.id,
});
resolve(data)
})
})
}
ngAfterViewInit(): void {
fromEvent(this.element.nativeElement.querySelector(`.ant-table-body`) as HTMLCanvasElement, 'scroll').pipe(debounceTime(100)).subscribe(async (event: any) => { //监听 DOM 滚动事件
if (event.target.scrollHeight - (event.target.scrollTop + event.target.clientHeight) <= 10) {
if (this.totalCount > this.list.length) {
@ -71,6 +109,9 @@ export class UpdateLicenseListComponent implements OnInit {
}
this.list = []
this.SkipCount = '0'
this.validateForm.patchValue({
organization: JSON.parse(sessionStorage.getItem('userdata')).organization.id,
});
this.getStationLicenses()
}
@ -79,17 +120,14 @@ export class UpdateLicenseListComponent implements OnInit {
//获取点击组织机构的所有加油站
SkipCount: string = '0'
MaxResultCount: string = '100'
orId
list: any = []
async getStationLicenses() {
let params = {
StationName: this.validateForm.value.name,
OrganizationUnitId: String(sessionStorage.getItem('planAdminOrid')),
OrganizationUnitId: this.validateForm.value.organization,
IsContainsChildren: 'true',
SkipCount: this.SkipCount,
MaxResultCount: this.MaxResultCount,
// Sorting: ' BuildingBasicInfo.Id asc'
MaxResultCount: this.MaxResultCount
}
this.tableSpin = true
await new Promise((resolve, reject) => {
@ -122,22 +160,21 @@ export class UpdateLicenseListComponent implements OnInit {
}
let atLastArr = newArr.concat(newElement);
arr.push(atLastArr)
setTimeout(() => {
let tableHeader = this.element.nativeElement.querySelector(`.ant-table-header`).clientHeight
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - tableHeader - 30) + 'px'
}, 0);
});
setTimeout(() => {
let tableHeader = this.element.nativeElement.querySelector(`.ant-table-header`).clientHeight
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - tableHeader - 10) + 'px'
}, 0);
this.list = this.list.concat(arr);
this.list = [...this.list]
console.log('证照表格', this.list)
this.tableSpin = false
setTimeout(() => {
let tableHeader = this.element.nativeElement.querySelector(`.ant-table-header`).clientHeight
this.tableScrollHeight = (document.getElementById('tablebox').clientHeight - tableHeader - 30) + 'px'
}, 0);
resolve(data)
})
})
@ -182,4 +219,31 @@ export class UpdateLicenseListComponent implements OnInit {
}
exportExcel() {
// console.log(this.validateForm)
const httpOptions = {
responseType: 'blob' as 'json',
params: {
OrganizationUnitId: this.validateForm.value.organization
}
};
this.http.get(`/api/services/app/StationValidityLicense/ExportStationLicenses`, httpOptions).subscribe((data: any) => {
// console.log('导出成功')
// 文件名中有中文 则对文件名进行转码
const link = document.createElement('a');
const blob = new Blob([data], { type: 'application/vnd.ms-excel' });
link.setAttribute('href', window.URL.createObjectURL(blob));
link.setAttribute('download', '经营类证照' + '.xls');
link.style.visibility = 'hidden';
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
this.message.create('success', `导出成功`);
}, err => {
this.message.create('error', `导出失败`);
})
}
}

4
src/app/system-management/file-of-license/file-of-license.component.html

@ -1,7 +1,7 @@
<div class="licenseBox" id="licenseBox">
<div class="topbox">
<div class="lefttop">
<span>档案类证件列表</span>
<span>资产类证照列表</span>
</div>
<div class="righttop">
<button nz-button nzType="primary" (click)="addRole()"><i nz-icon nzType="plus-circle"
@ -12,7 +12,7 @@
<nz-table #basicTable [nzData]="listOfData" [nzShowPagination]='false' [nzPageSize]='999' [nzLoading]="isLoading">
<thead>
<tr>
<th style="padding-left: 40px;">档案类证件</th>
<th style="padding-left: 40px;">资产类证照</th>
<th>操作</th>
</tr>
</thead>

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

@ -18,8 +18,8 @@
<li [routerLink]="['/system/role']" routerLinkActive="router-link-active"><img src="../../../assets/images/icon/role.png" alt="">角色管理</li>
<li [routerLink]="['/system/host']" routerLinkActive="router-link-active"><img src="../../../assets/images/icon/host.png" alt="">分析主机管理</li>
<li [routerLink]="['/system/push']" routerLinkActive="router-link-active"><img src="../../../assets/images/icon/push.png" alt="">推送管理</li>
<li [routerLink]="['/system/updateOfLicense']" routerLinkActive="router-link-active"><img src="../../../assets/images/icon/license.png" alt="">更新类证照管理</li>
<li [routerLink]="['/system/fileOfLicense']" routerLinkActive="router-link-active"><img src="../../../assets/images/icon/license.png" alt="">档案类证照管理</li>
<li [routerLink]="['/system/updateOfLicense']" routerLinkActive="router-link-active"><img src="../../../assets/images/icon/license.png" alt="">经营类证照管理</li>
<li [routerLink]="['/system/fileOfLicense']" routerLinkActive="router-link-active"><img src="../../../assets/images/icon/license.png" alt="">资产类证照管理</li>
</ul>
</div>
</nz-sider>

20
src/app/system-management/update-of-license/add-update-of-license/add-update-of-license.component.html

@ -24,9 +24,27 @@
</nz-input-group>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="办理类型">办理类型</nz-form-label>
<nz-form-control nzErrorTip="请选择办理类型">
<nz-select formControlName="handleType" nzMode="multiple">
<nz-option [nzValue]="item.value" [nzLabel]="item.name" *ngFor="let item of handleTypeList">
</nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="是否上传副本">是否上传副本</nz-form-label>
<nz-form-control>
<label nz-checkbox formControlName="isEctype"></label>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="是否年检">是否年检</nz-form-label>
<nz-form-control nzErrorTip="请输入临期提醒时间">
<nz-form-control nzErrorTip="请选择是否年检">
<label nz-checkbox formControlName="isYearlyCheck"></label>
</nz-form-control>
</nz-form-item>

6
src/app/system-management/update-of-license/add-update-of-license/add-update-of-license.component.ts

@ -2,6 +2,7 @@ import { Component, OnInit, Input } from '@angular/core';
import { NzModalRef } from 'ng-zorro-antd/modal';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { HttpClient } from '@angular/common/http';
import { handleType,handleTypeList } from 'src/app/pages/license/inform/inform.component';
@Component({
@ -19,10 +20,15 @@ export class AddUpdateOfLicenseComponent implements OnInit {
name: [null, [Validators.required]],
handleRemindDays: [90, [Validators.required]],
closingRemindDays: [30, [Validators.required]],
handleType: [[], [Validators.required]],
isEctype: [false, [Validators.required]],
isYearlyCheck: [true, [Validators.required]]
});
}
destroyModal(): void {
this.modal.destroy({ data: 'this the result data' });
}
handleTypeList: handleTypeList[] = new handleType().list; //办理类型list
}

18
src/app/system-management/update-of-license/edit-update-of-license/edit-update-of-license.component.html

@ -24,9 +24,25 @@
</nz-input-group>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="办理类型">办理类型</nz-form-label>
<nz-form-control nzErrorTip="请选择办理类型">
<nz-select formControlName="handleType" nzMode="multiple">
<nz-option [nzValue]="item.value" [nzLabel]="item.name" *ngFor="let item of handleTypeList">
</nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="是否上传副本">是否上传副本</nz-form-label>
<nz-form-control>
<label nz-checkbox formControlName="isEctype"></label>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="是否年检">是否年检</nz-form-label>
<nz-form-control nzErrorTip="请输入临期提醒时间">
<nz-form-control nzErrorTip="请选择是否年检">
<label nz-checkbox formControlName="isYearlyCheck"></label>
</nz-form-control>
</nz-form-item>

5
src/app/system-management/update-of-license/edit-update-of-license/edit-update-of-license.component.ts

@ -2,6 +2,7 @@ import { Component, OnInit, Input } from '@angular/core';
import { NzModalRef } from 'ng-zorro-antd/modal';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { HttpClient } from '@angular/common/http';
import { handleType,handleTypeList } from 'src/app/pages/license/inform/inform.component';
@Component({
selector: 'app-edit-update-of-license',
@ -19,6 +20,8 @@ export class EditUpdateOfLicenseComponent implements OnInit {
name: [this.data.licenseName, [Validators.required]],
handleRemindDays: [this.data.handleRemindDays, [Validators.required]],
closingRemindDays: [this.data.closingRemindDays, [Validators.required]],
handleType: [this.data.handleTypes, [Validators.required]],
isEctype: [this.data.hasAttachment, [Validators.required]],
isYearlyCheck: [this.data.isYearlyCheck, [Validators.required]]
});
}
@ -26,4 +29,6 @@ export class EditUpdateOfLicenseComponent implements OnInit {
this.modal.destroy({ data: 'this the result data' });
}
handleTypeList: handleTypeList[] = new handleType().list; //办理类型list
}

8
src/app/system-management/update-of-license/update-of-license.component.html

@ -1,7 +1,7 @@
<div class="licenseBox" id="licenseBox2">
<div class="topbox">
<div class="lefttop">
<span>更新类证件列表</span>
<span>经营类证照列表</span>
</div>
<div class="righttop">
<button nz-button nzType="primary" (click)="addRole()"><i nz-icon nzType="plus-circle"
@ -13,9 +13,11 @@
[nzLoading]="isLoading">
<thead>
<tr>
<th style="padding-left: 40px;">更新类证件</th>
<th style="padding-left: 40px;">经营类证照</th>
<th>办理提醒时间</th>
<th>临期提醒时间</th>
<th>办理类型</th>
<th>是否上传副本</th>
<th>是否年检</th>
<th>操作</th>
</tr>
@ -25,6 +27,8 @@
<td>{{data.licenseName}}</td>
<td>{{data.handleRemindDays}}天</td>
<td>{{data.closingRemindDays}}天</td>
<td>{{getHandleTypes(data.handleTypes)}}</td>
<td>{{data.hasAttachment ? '是' : '否'}}</td>
<td>{{data.isYearlyCheck ? '是' : '否'}}</td>
<td class="operation">
<a (click)="edit(data)">编辑</a>

37
src/app/system-management/update-of-license/update-of-license.component.ts

@ -15,6 +15,9 @@ export class UpdateOfLicenseComponent implements OnInit {
constructor(private modal: NzModalService, private viewContainerRef: ViewContainerRef, private message: NzMessageService, private http: HttpClient) { }
ngOnInit(): void {
this.getLicense()
}
@ -48,11 +51,12 @@ export class UpdateOfLicenseComponent implements OnInit {
nzOnOk: async () => {
if (instance.validateForm.valid) {
await new Promise(resolve => {
console.log('表单信息', instance.validateForm)
let body = {
licenseName: instance.validateForm.value.name,
handleRemindDays: instance.validateForm.value.handleRemindDays,
closingRemindDays: instance.validateForm.value.closingRemindDays,
hasAttachment: instance.validateForm.value.isEctype,
handleTypes: instance.validateForm.value.handleType,
isYearlyCheck: instance.validateForm.value.isYearlyCheck
}
this.http.post('/api/services/app/ValidityLicenseType/Create', body).subscribe(data => {
@ -93,6 +97,8 @@ export class UpdateOfLicenseComponent implements OnInit {
licenseName: instance.validateForm.value.name,
handleRemindDays: instance.validateForm.value.handleRemindDays,
closingRemindDays: instance.validateForm.value.closingRemindDays,
hasAttachment: instance.validateForm.value.isEctype,
handleTypes: instance.validateForm.value.handleType,
isYearlyCheck: instance.validateForm.value.isYearlyCheck
}
this.http.put('/api/services/app/ValidityLicenseType/Update', body).subscribe(data => {
@ -136,6 +142,31 @@ export class UpdateOfLicenseComponent implements OnInit {
}
});
}
handleTypeList = [
{ value: 0, name: "无" },
{ value: 1, name: "年度公示" },
{ value: 2, name: "年检" },
{ value: 3, name: "到期换证" },
{ value: 4, name: "年度执行报告" },
{ value: 5, name: "到期检测" },
{ value: 6, name: "年度复训" },
{ value: 7, name: "年度检测" },
{ value: 8, name: "到期备案" },
{ value: 9, name: "到期评价" },
]
//获取办理类型
getHandleTypes(handleTypes: any[]): string {
if (!handleTypes || !handleTypes.length) {
return
}
let names: string[] = []
let handleTypeList = JSON.parse(JSON.stringify(handleTypes));
let list = this.handleTypeList;
handleTypeList.forEach(item => {
list.find(element => {
item == element.value ? names.push(element.name) : null
})
})
return names.join(',')
}
}

8
src/theme.less

@ -377,7 +377,8 @@
#inform,
#updateLicense,
#fileLicense,
#histories {
#histories,
#statisticsList {
::-webkit-input-placeholder {
/* WebKit browsers */
color: #345d85;
@ -480,6 +481,11 @@
.ant-table-tbody>tr>td:hover {
background: none;
}
.ant-select,
.ant-select-arrow {
color: #fff;
}
}
//蓝色 表格 tree-通知时间

Loading…
Cancel
Save