+
+
{{item.company.companyName}}
@@ -62,25 +34,27 @@
- 未分配
+ {{item.mainSupervisor ? item.mainSupervisor.name : '未分配'}}
- 未分配
+ {{item.assitantSupervisor ? item.assitantSupervisor.name : '未分配'}}
-
分配
+
分配
|
申请人: {{item.assitantOrganization.name}}
-
-
+
+
-
-
+
+
diff --git a/src/app/home/task/da-subordinate-audit/da-subordinate-audit.component.scss b/src/app/home/task/da-subordinate-audit/da-subordinate-audit.component.scss
index fa7430c..481f790 100644
--- a/src/app/home/task/da-subordinate-audit/da-subordinate-audit.component.scss
+++ b/src/app/home/task/da-subordinate-audit/da-subordinate-audit.component.scss
@@ -53,6 +53,9 @@
text-align: left;
display: flex;
flex-direction: column;
+ position: relative;
+
+
.tabheader {
width: 100%;
@@ -101,6 +104,7 @@
box-sizing: border-box;
padding: 0 20px;
position: relative;
+
div {
display: flex;
align-items: center;
@@ -124,6 +128,17 @@
.btn {
flex: 1;
+
+ button:nth-child(1) {
+ background: #42B983;
+ color: white;
+ }
+
+ button:nth-child(2) {
+ background: #FF0000;
+ color: white;
+ margin-left: 20px;
+ }
}
.auditimg {
diff --git a/src/app/home/task/da-subordinate-audit/da-subordinate-audit.component.ts b/src/app/home/task/da-subordinate-audit/da-subordinate-audit.component.ts
index 5c5e526..c3132b3 100644
--- a/src/app/home/task/da-subordinate-audit/da-subordinate-audit.component.ts
+++ b/src/app/home/task/da-subordinate-audit/da-subordinate-audit.component.ts
@@ -1,5 +1,8 @@
import { HttpClient } from '@angular/common/http';
-import { Component, OnInit } from '@angular/core';
+import { Component, OnInit, ViewContainerRef } from '@angular/core';
+import { NzMessageService } from 'ng-zorro-antd/message';
+import { NzModalService } from 'ng-zorro-antd/modal';
+import { AllotPersonComponent } from './allot-person/allot-person.component';
@Component({
selector: 'app-da-subordinate-audit',
@@ -8,42 +11,58 @@ import { Component, OnInit } from '@angular/core';
})
export class DaSubordinateAuditComponent implements OnInit {
- constructor(private http: HttpClient) { }
+ constructor(private http: HttpClient, private modal: NzModalService, private viewContainerRef: ViewContainerRef, private message: NzMessageService) { }
OrganizationId
selectedTab = 0
+
+ atPresentData = { id: 0, name: '', finished: 0, totalCount: 0, list: [] }
+
selectTab(item) {
- this.selectedTab = item
+ this.selectedTab = item.id
+ this.atPresentData = item
}
ngOnInit(): void {
this.OrganizationId = JSON.parse(sessionStorage.getItem('userData')).organizationId
- let month = new Date().getMonth() + 1
- this.selectedMonth = month + '月'
+ this.selectedMonth = new Date().getMonth() + 1
+
+ this.getTaskList(0)
+
+
+ //获得主协调查人员
+ this.getSupervisor('main')
+ this.getSupervisor('assisted')
- this.getTaskList()
}
months = [
- { name: '1月', isable: true },
- { name: '2月', isable: true },
- { name: '3月', isable: true },
- { name: '4月', isable: true },
- { name: '5月', isable: true },
- { name: '6月', isable: true },
- { name: '7月', isable: true },
- { name: '8月', isable: true },
- { name: '9月', isable: true },
- { name: '10月', isable: true },
- { name: '11月', isable: true },
- { name: '12月', isable: true }
+ { id: 1, name: '1月', isable: true },
+ { id: 2, name: '2月', isable: true },
+ { id: 3, name: '3月', isable: true },
+ { id: 4, name: '4月', isable: true },
+ { id: 5, name: '5月', isable: true },
+ { id: 6, name: '6月', isable: true },
+ { id: 7, name: '7月', isable: true },
+ { id: 8, name: '8月', isable: true },
+ { id: 9, name: '9月', isable: true },
+ { id: 10, name: '10月', isable: true },
+ { id: 11, name: '11月', isable: true },
+ { id: 12, name: '12月', isable: true }
]
selectedMonth
+ selectedYear = 2022
+ selectedTime
selectMonth(item) {
- this.selectedMonth = item.name
- }
+ this.selectedMonth = item.id
+ this.getTaskList(this.selectedTab)
+ }
+ selectYear(e) {
+ this.selectedYear = e
+ console.log('年', e)
+ this.getTaskList(this.selectedTab)
+ }
- nzLoading = false
PageNumber = 1
PageSize = 9999
@@ -52,11 +71,17 @@ export class DaSubordinateAuditComponent implements OnInit {
{ id: 1, name: '联络指导任务', finished: 0, totalCount: 0, list: [] }
]
-
- getTaskList() {
- this.nzLoading = true
+ isloading = false
+ getTaskList(index) {
+ this.isloading = true
+ this.data = [
+ { id: 0, name: '熟悉演练任务', finished: 0, totalCount: 0, list: [] },
+ { id: 1, name: '联络指导任务', finished: 0, totalCount: 0, list: [] }
+ ]
+ let selectedTime = this.selectedYear + '-' + this.selectedMonth + '-' + '01'
+ console.log('查询时间', selectedTime)
let params = {
-
+ Month: selectedTime,
OrganizationId: this.OrganizationId,
PageNumber: this.PageNumber,
PageSize: this.PageSize
@@ -64,8 +89,6 @@ export class DaSubordinateAuditComponent implements OnInit {
this.http.get('/api/PlanTasks', {
params: params
}).subscribe((data: any) => {
- this.nzLoading = false
-
let arr1 = []
let arr2 = []
data.items.forEach(element => {
@@ -91,8 +114,126 @@ export class DaSubordinateAuditComponent implements OnInit {
this.data[1].totalCount = arr2.length
this.data[1].list = [...arr2]
+ this.atPresentData = this.data[index]
+ console.log(this.atPresentData)
+ this.isloading = false
})
}
+
+ assitantsupervisorList
+ mainsupervisorList
+ getSupervisor(type) {
+ let params = {
+ inspectorType: type
+ }
+ this.http.get('/api/Users/Inspectors', {
+ params: params
+ }).subscribe((data: any) => {
+ console.log('检查员列表', data)
+ if (type == 'main') {
+ this.mainsupervisorList = data
+ } else {
+ this.assitantsupervisorList = data
+ }
+ })
+ }
+
+ allot(item) {
+ console.log(item)
+ if (this.mainsupervisorList.length == 0 || this.assitantsupervisorList.length == 0) {
+ this.message.create('warning', '请从用户管理添加检查人员');
+ return
+ }
+ const modal = this.modal.create({
+ nzTitle: '分配监督检查员',
+ nzContent: AllotPersonComponent,
+ nzViewContainerRef: this.viewContainerRef,
+ nzWidth: 485,
+ nzMaskClosable: false,
+ nzComponentParams: {
+ mainsupervisorList: this.mainsupervisorList,
+ assitantsupervisorList: this.assitantsupervisorList
+ },
+ nzOnOk: async () => {
+ if (instance.validateForm.valid) {
+ await new Promise((resolve, reject) => {
+ let body = {
+ mainSupervisorId: instance.validateForm.value.main,
+ assitantSupervisorId: instance.validateForm.value.assitant
+ }
+ this.http.patch(`/api/PlanTasks/${item.id}`, body).subscribe({
+ next: async (data) => {
+ this.message.create('success', '分配成功');
+ resolve(data)
+ this.getTaskList(this.selectedTab)
+ return true
+ },
+ error: (err) => {
+ this.message.create('warning', '分配失败');
+ reject(err)
+ return false
+ }
+ })
+ })
+ } else {
+ this.message.create('warning', '请填写完整!');
+ return false
+ }
+ }
+ });
+ const instance = modal.getContentComponent();
+ modal.afterOpen.subscribe(() => console.log('[afterOpen] emitted!'));
+ modal.afterClose.subscribe(result => console.log('[afterClose] The result is:', result));
+ }
+
+ agree(item) {
+ this.modal.confirm({
+ nzTitle: `确定要同意该申请吗?`,
+ nzOkText: '确定',
+ nzOkType: 'default',
+ nzOnOk: () => {
+ this.http.post(`/api/PlanTasks/Approval/${item.id}`, null, {
+ params: {
+ approvalStatus: 'approved'
+ }
+ }).subscribe({
+ next: (data) => {
+ this.message.create('success', '审核成功');
+ this.getTaskList(this.selectedTab)
+ },
+ error: (err) => {
+ this.message.create('warning', '审核失败');
+ }
+ })
+ },
+ nzCancelText: '取消'
+ });
+ }
+
+ reject(item) {
+ this.modal.confirm({
+ nzTitle: `确定要驳回该申请吗?`,
+ nzOkText: '确定',
+ nzOkType: 'default',
+ nzOnOk: () => {
+ this.http.post(`/api/PlanTasks/Approval/${item.id}`, null, {
+ params: {
+ approvalStatus: 'reject'
+ }
+ }).subscribe({
+ next: (data) => {
+ this.message.create('success', '审核成功');
+ this.getTaskList(this.selectedTab)
+ },
+ error: (err) => {
+ this.message.create('warning', '审核失败');
+ }
+ })
+ },
+ nzCancelText: '取消'
+ });
+ }
}
+
diff --git a/src/app/home/task/station-task-apply/station-task-apply.component.html b/src/app/home/task/station-task-apply/station-task-apply.component.html
index 9201a2e..2c300dc 100644
--- a/src/app/home/task/station-task-apply/station-task-apply.component.html
+++ b/src/app/home/task/station-task-apply/station-task-apply.component.html
@@ -53,8 +53,9 @@
单位名称 |
协助机构 |
-
结果 |
时间 |
+
申请结果 |
+
检查结果 |
操作 |
@@ -73,10 +74,23 @@
{{item.assitantOrganization.name}}
- /
+ {{item.creationTime | date:"yyyy-MM-dd hh:mm:ss"}}
|
- {{item.creationTime | date:"yyyy-MM-dd hh:mm:ss"}}
+
+
+ 审核驳回
+
+
+ 审核通过
+
+
+
+ 未审核
+
+ |
+
+ /
|
查看
diff --git a/src/app/home/task/station-task-apply/station-task-apply.component.ts b/src/app/home/task/station-task-apply/station-task-apply.component.ts
index 8e23092..05e75e8 100644
--- a/src/app/home/task/station-task-apply/station-task-apply.component.ts
+++ b/src/app/home/task/station-task-apply/station-task-apply.component.ts
@@ -122,7 +122,7 @@ export class StationTaskApplyComponent implements OnInit {
await new Promise((resolve, reject) => {
let body = {
organizationId: this.OrganizationId,
- taskName: "熟悉演练",
+ taskName: "联络指导",
companyId: instance.validateForm.value.unitname,
assitantOrganizationId: instance.validateForm.value.organization,
}
diff --git a/src/app/http-interceptors/base-interceptor.ts b/src/app/http-interceptors/base-interceptor.ts
index b41f38d..4edbd23 100644
--- a/src/app/http-interceptors/base-interceptor.ts
+++ b/src/app/http-interceptors/base-interceptor.ts
@@ -56,32 +56,24 @@ export class BaseInterceptor implements HttpInterceptor {
this.token.delete()
sessionStorage.clear()
localStorage.removeItem("isautologin")
- this.message.create('error', `用户认证信息过期,请重新登录!`);
+ this.message.create('error', `认证失败!`);
this.router.navigate(['/login'])
return
}
if (error.status === 403) {
- this.message.create('error', `对不起,您无此权限!`);
- return
- }
- if (error.status === 400) {
- this.message.create('error', error.error);
- return
- }
- if (error.status === 503) {
- this.message.create('error', error.error.detail);
+ this.message.create('error', `无权限!`);
return
}
if (error.error instanceof ErrorEvent) {
// 发生客户端或网络错误。相应处理。
- console.error('An error occurred:', error.error.message);
+ console.error('An error occurred:', error.message);
} else {
// 服务端返回http状态码
// 服务端返回错误信息
console.error(
`状态码${error.status}, ` +
`错误内容:${error.error}`);
- this.message.create('error', error.error);
+ this.message.create('error', error.error.title);
}
// 返回带有面向用户的错误信息
return throwError(() => {
diff --git a/src/app/service/cache-token.service.ts b/src/app/service/cache-token.service.ts
index 13466d6..161e3b6 100644
--- a/src/app/service/cache-token.service.ts
+++ b/src/app/service/cache-token.service.ts
@@ -24,7 +24,7 @@ export class CacheTokenService {
sessionStorage.setItem("token", data.token);
sessionStorage.setItem("refreshToken", data.refreshToken);
})
- }, 10 * 60 * 1000)
+ }, 60 * 1000)
console.log('启动定时刷新token')
}
diff --git a/src/styles.scss b/src/styles.scss
index 6275361..dcf0ab3 100644
--- a/src/styles.scss
+++ b/src/styles.scss
@@ -134,6 +134,11 @@ app-root {
pointer-events: none
}
+.forbidbtn {
+ background: gray !important;
+ pointer-events: none
+}
+
.box {
width: 100%;
height: 100%;
@@ -207,3 +212,12 @@ app-root {
.panelheadernamered {
background-color: #FF404D;
}
+.spin {
+ background: rgb(134, 131, 131, 0.2);
+ position: absolute;
+ width: 100%;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
\ No newline at end of file
|