diff --git a/src/app/home/home.module.ts b/src/app/home/home.module.ts index a4a57d1..d27f592 100644 --- a/src/app/home/home.module.ts +++ b/src/app/home/home.module.ts @@ -42,6 +42,9 @@ import { NzTreeModule } from 'ng-zorro-antd/tree'; import { AddorComponent } from './system-management/or/addor/addor.component'; import { EditorComponent } from './system-management/or/editor/editor.component'; import { AddUnitComponent } from './basic-info/add-unit/add-unit.component'; +import { NzCollapseModule } from 'ng-zorro-antd/collapse'; +import { NzPopoverModule } from 'ng-zorro-antd/popover'; +import { NzCheckboxModule } from 'ng-zorro-antd/checkbox'; @NgModule({ declarations: [ NavComponent, @@ -89,7 +92,10 @@ import { AddUnitComponent } from './basic-info/add-unit/add-unit.component'; NzMessageModule, NzInputModule, NzPaginationModule, - NzTreeModule + NzTreeModule, + NzCollapseModule, + NzPopoverModule, + NzCheckboxModule ], entryComponents: [AddroleComponent, EditroleComponent, AdduserComponent, EdituserComponent, AddorComponent, EditorComponent] }) diff --git a/src/app/home/task/task.component.scss b/src/app/home/task/task.component.scss index a5750bc..82a213b 100644 --- a/src/app/home/task/task.component.scss +++ b/src/app/home/task/task.component.scss @@ -34,18 +34,18 @@ .content { - box-sizing: border-box; - padding: 16px; + // box-sizing: border-box; + // padding: 16px; background: #F6F5F8; .routerbox { width: 100%; height: 100%; - background: #FFFFFF; - box-shadow: 0px 3px 8px 1px rgba(0, 0, 0, 0.0800); - border-radius: 4px 4px 4px 4px; - opacity: 1; - border: 1px solid #E4E7EC; - overflow-y: auto; + // background: #FFFFFF; + // box-shadow: 0px 3px 8px 1px rgba(0, 0, 0, 0.0800); + // border-radius: 4px 4px 4px 4px; + // opacity: 1; + // border: 1px solid #E4E7EC; + // overflow-y: auto; } } diff --git a/src/app/home/task/zhi-indicators/zhi-indicators.component.html b/src/app/home/task/zhi-indicators/zhi-indicators.component.html index abf1c31..1c28d08 100644 --- a/src/app/home/task/zhi-indicators/zhi-indicators.component.html +++ b/src/app/home/task/zhi-indicators/zhi-indicators.component.html @@ -1 +1,200 @@ -

zhi-indicators works!

+ +
+
+ + + + +
+ {{item.name}} +
+
+
+
+
+
+
+ + 双随机 +
+ + +
+
+ 单位名称 + | + 组织机构 +
+
+
+
+ + + + + + + + +
+
+
+
+
+
+
+
+ + + + + + + +
+
+
+ + + +
+ + + + {{ node.title }} + +
+
+ + + + + + + + +
+
+
+ + +
+
+
+ + 已分配: 14/15 家单位 + +
+
+ + + {{doubleRandom.isExpand ? '收起' :'展开'}} + + +
+
+
+ + + + 责任机构 + 任务额 + 单位名称 + 监督员 + 说明 + + + + + 访客 + 2021-11-19 + + 22 + + + 22 + + + 22 + + + + +
+
+
+
+
+
+ + 重大活动 +
+ + + 已分配: 0/0 家单位 + +
+
+ +
+
+
+
+
+
+
+ + 消防宣传 +
+ + + 已分配: 0/0 家单位 + +
+
+ +
+
+
+
+
+
+
+ + 火灾调查 +
+ + + 已分配: 0/0 家单位 + +
+
+ +
+
+
+
+
\ No newline at end of file diff --git a/src/app/home/task/zhi-indicators/zhi-indicators.component.scss b/src/app/home/task/zhi-indicators/zhi-indicators.component.scss index e69de29..1bbddb2 100644 --- a/src/app/home/task/zhi-indicators/zhi-indicators.component.scss +++ b/src/app/home/task/zhi-indicators/zhi-indicators.component.scss @@ -0,0 +1,170 @@ +.box { + width: 100%; + height: 100%; + display: flex; + flex-direction: column; + overflow: hidden; +} + +.timebox { + width: 100%; + height: 68px; + box-sizing: border-box; + padding: 0 20px; + display: flex; + align-items: center; + + border-bottom: 1px dashed #C7CAD0; + + nz-select { + margin-right: 16px; + border-radius: 4px 4px 4px 4px; + } + + .monthbtn { + width: 80px; + height: 32px; + line-height: 32px; + background: #FFFFFF; + border-radius: 4px 4px 4px 4px; + opacity: 1; + border: 1px solid #E4E7EC; + color: #303133; + margin-right: 16px; + cursor: pointer; + } + + .selectedMonth { + + background: #2C4DC0; + color: #FFFFFF; + } +} + +.content { + box-sizing: border-box; + padding: 20px; + flex: 1; + overflow-y: auto; + color: #606266; +} + +.panel { + margin-bottom: 16px; + + .panelheader { + justify-content: space-between; + + .panelheaderleft { + display: flex; + align-items: center; + + .panelheadername { + width: 130px; + height: 36px; + box-sizing: border-box; + padding: 8px 28px; + border-radius: 6px 0px 6px 6px; + color: #fff; + margin-right: 36px; + + img { + vertical-align: text-top; + } + } + + button { + margin-right: 36px; + } + } + + .panelheaderright { + display: flex; + align-items: center; + + .expand { + margin-left: 36px; + } + } + } + + .panelcontent { + nz-table { + margin-top: 16px; + } + } +} + +.panelheadernameblue { + background-color: #1D9DFF; +} + +.panelheadernamepurple { + background-color: #9D80FF; +} + +.panelheadernameblue2 { + background-color: #5087FF; +} + +.panelheadernamegreen { + background-color: #42B983; +} + +.panelheadernameor { + background-color: #FF9203; +} + +.panelheadernameor2 { + background-color: #FF5D2A; +} + +.panelheadernamered { + background-color: #FF404D; +} + +.selectUnitPopover { + width: 550px; + height: 492px; + + nz-form-item { + margin: 12px 0; + } + + display: flex; + flex-direction: column; + + .popoverTitle { + display: flex; + align-items: center; + + span { + color: #C7CAD0; + cursor: pointer; + } + + .selectedspan { + color: #2C4DC0; + } + } + + .popoverContent { + flex: 1; + display: flex; + flex-direction: column; + overflow: hidden; + .popoverContentitem{ + flex: 1; + overflow-y: auto; + } + } + + .popoverBtn { + display: flex; + justify-content: flex-end; + margin-top: 16px; + button{ + margin-left: 18px; + } + } +} diff --git a/src/app/home/task/zhi-indicators/zhi-indicators.component.ts b/src/app/home/task/zhi-indicators/zhi-indicators.component.ts index ff8729e..96313d7 100644 --- a/src/app/home/task/zhi-indicators/zhi-indicators.component.ts +++ b/src/app/home/task/zhi-indicators/zhi-indicators.component.ts @@ -1,4 +1,7 @@ -import { Component, OnInit } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { Component, OnInit, ViewChild } from '@angular/core'; +import { FormBuilder, FormGroup } from '@angular/forms'; +import { TreeService } from 'src/app/service/tree.service'; @Component({ selector: 'app-zhi-indicators', @@ -7,9 +10,94 @@ import { Component, OnInit } from '@angular/core'; }) export class ZhiIndicatorsComponent implements OnInit { - constructor() { } + validateForm!: FormGroup; + + constructor(private fb: FormBuilder, private http: HttpClient, private toTree: TreeService) { } + + 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 } + ] + selectedMonth + selectMonth(item) { + this.selectedMonth = item.name + } + + + // 双随机 + doubleRandom = { + isExpand: true,//卡片展开 + isPopover: false,//选择单位气泡卡片 + search1: '',//选择单位气泡卡片---单位选择列表 + search1Value: [], + search2: '',//选择单位气泡卡片---组织选择列表 + search2Value: [], + selectedMenu: 1,//选择单位气泡卡片 + data: [1]//表格数据 + } + isPopover(data) { + data.isPopover = !data.isPopover + } + //搜索框提交 + submitForm(value): void { + // console.log(value) + } + // 弹出 tab + popoverMenuSelect(data, type) { + data.selectedMenu = type + } + expand(data) { + data.isExpand = !data.isExpand + } ngOnInit(): void { + this.getAllOrganization() } + nzExpandAll = false; + totalCount: string + + allOrList: any + nodes + getAllOrganization() { + let params = { + ContainsChildren: true, + pageSize: 9999 + } + this.http.get('/api/Organizations', { + params: params + }).subscribe((data: any) => { + this.totalCount = data.totalCount + data.items.forEach(element => { + element.key = element.id + element.title = element.name + element.selectable = false + }); + this.allOrList = data.items + this.nodes = [...this.toTree.toTree(data.items)] + }) + } + orcheckbox(data, $event, node) { + if ($event) { + data.search2Value.push(node.origin.name) + } else { + for (let index = 0; index < data.search2Value.length; index++) { + const element = data.search2Value[index]; + if (element == node.origin.name) { + data.search2Value.splice(index, 1) + } + } + } + console.log(data.search2Value) + } } diff --git a/src/assets/images/icon/admin.png b/src/assets/images/icon/admin.png deleted file mode 100644 index f7f11ef..0000000 Binary files a/src/assets/images/icon/admin.png and /dev/null differ diff --git a/src/assets/images/icon/host.png b/src/assets/images/icon/host.png deleted file mode 100644 index 20d356c..0000000 Binary files a/src/assets/images/icon/host.png and /dev/null differ diff --git a/src/assets/images/icon/huodong.png b/src/assets/images/icon/huodong.png new file mode 100644 index 0000000..4767b07 Binary files /dev/null and b/src/assets/images/icon/huodong.png differ diff --git a/src/assets/images/icon/huozai.png b/src/assets/images/icon/huozai.png new file mode 100644 index 0000000..ae5890d Binary files /dev/null and b/src/assets/images/icon/huozai.png differ diff --git a/src/assets/images/icon/organization.png b/src/assets/images/icon/organization.png deleted file mode 100644 index 6fc46c2..0000000 Binary files a/src/assets/images/icon/organization.png and /dev/null differ diff --git a/src/assets/images/icon/power.png b/src/assets/images/icon/power.png deleted file mode 100644 index d9e9600..0000000 Binary files a/src/assets/images/icon/power.png and /dev/null differ diff --git a/src/assets/images/icon/push.png b/src/assets/images/icon/push.png deleted file mode 100644 index f52e818..0000000 Binary files a/src/assets/images/icon/push.png and /dev/null differ diff --git a/src/assets/images/icon/role.png b/src/assets/images/icon/role.png deleted file mode 100644 index 9ec88e9..0000000 Binary files a/src/assets/images/icon/role.png and /dev/null differ diff --git a/src/assets/images/icon/suiji.png b/src/assets/images/icon/suiji.png new file mode 100644 index 0000000..89b421e Binary files /dev/null and b/src/assets/images/icon/suiji.png differ diff --git a/src/assets/images/icon/tousu.png b/src/assets/images/icon/tousu.png new file mode 100644 index 0000000..c203146 Binary files /dev/null and b/src/assets/images/icon/tousu.png differ diff --git a/src/assets/images/icon/user.png b/src/assets/images/icon/user.png deleted file mode 100644 index 6962ffd..0000000 Binary files a/src/assets/images/icon/user.png and /dev/null differ diff --git a/src/assets/images/icon/xuanchuan.png b/src/assets/images/icon/xuanchuan.png new file mode 100644 index 0000000..a431c6d Binary files /dev/null and b/src/assets/images/icon/xuanchuan.png differ diff --git a/src/assets/images/icon/xuke.png b/src/assets/images/icon/xuke.png new file mode 100644 index 0000000..18339ee Binary files /dev/null and b/src/assets/images/icon/xuke.png differ diff --git a/src/assets/images/icon/yanlian.png b/src/assets/images/icon/yanlian.png new file mode 100644 index 0000000..1264b6c Binary files /dev/null and b/src/assets/images/icon/yanlian.png differ diff --git a/src/styles.scss b/src/styles.scss index f2ba085..e9bb05d 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -106,7 +106,7 @@ textarea { } ::-webkit-scrollbar-track { - background-color: #999; + // background-color: #999; } app-root { @@ -161,7 +161,21 @@ app-root { max-height: 280px; } -button { +// 可展开面板 +.panel { + width: 100%; + background: #FFFFFF; + box-shadow: 0px 3px 8px 1px rgba(0, 0, 0, 0.0800); + border-radius: 4px 4px 4px 4px; + opacity: 1; + border: 1px solid #E4E7EC; + box-sizing: border-box; + padding: 16px; + + .panelheader { + height: 46px; + display: flex; + align-items: center; + } - background: #2C4DC0; }