diff --git a/web-admin-app/src/app/app.routes.ts b/web-admin-app/src/app/app.routes.ts index cb55822..3e16584 100644 --- a/web-admin-app/src/app/app.routes.ts +++ b/web-admin-app/src/app/app.routes.ts @@ -80,6 +80,11 @@ import { MaintenancePlanComponent } from './pages/fixed-asset/plan-task/maintena import { StocktakingPlanComponent } from './pages/fixed-asset/plan-task/stocktaking-plan/stocktaking-plan.component' import { StocktakingTaskComponent } from './pages/fixed-asset/plan-task/stocktaking-task/stocktaking-task.component' import { StocktakingCalendarComponent } from './pages/fixed-asset/plan-task/stocktaking-calendar/stocktaking-calendar.component' +import { FlowMsgComponent } from './pages/msg/flow-msg/flow-msg.component' +import { SystemLogComponent } from './pages/msg/system-log/system-log.component' +import { MsgLayoutComponent } from './pages/msg/msg-layout/msg-layout.component' +import { FlowManagementComponent } from './pages/flow/flow-management/flow-management.component' +import { FlowReportComponent } from './pages/flow/flow-report/flow-report.component' export const routes: Routes = [ { @@ -654,57 +659,11 @@ export const routes: Routes = [ // }, // ], // }, - { - path: 'alert', - title: '预警中心', - children: [ - { - path: '', - pathMatch: 'full', - redirectTo: 'borrow', - }, - { - path: 'borrow', - component: AlertBorrowComponent, - title: '借用预警', - }, - { - path: 'maintenance', - component: AlertMaintenanceComponent, - title: '维保到期预警', - }, - { - path: 'inventory', - children: [ - { - path: '', - pathMatch: 'full', - redirectTo: 'safety', - }, - { - path: 'safety', - component: AlertInventorySafetyComponent, - title: '安全库存预警', - }, - { - path: 'up', - component: AlertInventoryUpComponent, - title: '安全库存上限', - }, - { - path: 'down', - component: AlertInventoryDownComponent, - title: '安全库存下限', - }, - ], - }, - ], - }, ], }, { path: 'asset-flow', - title: '固资流程', + title: '资产流程', component: FlowLayoutComponent, data: { permission: { @@ -753,6 +712,88 @@ export const routes: Routes = [ title: '我已处理', component: FlowMyFinishedComponent, }, + { + path: 'management', + title: '流程管理', + component: FlowManagementComponent, + }, + { + path: 'report', + title: '工作报表', + component: FlowReportComponent, + }, + ], + }, + { + path: 'msg', + title: '消息中心', + component: MsgLayoutComponent, + children: [ + { + path: '403', + component: ForbiddenComponent, + }, + { + path: '', + redirectTo: 'flow', + pathMatch: 'full', + }, + { + path: 'flow', + component: FlowMsgComponent, + title: '流程消息', + }, + { + path: 'log', + component: SystemLogComponent, + title: '系统日志', + }, + { + path: 'alert', + title: '预警中心', + children: [ + { + path: '', + pathMatch: 'full', + redirectTo: 'borrow', + }, + { + path: 'borrow', + component: AlertBorrowComponent, + title: '借用超期预警', + }, + { + path: 'maintenance', + component: AlertMaintenanceComponent, + title: '维保到期预警', + }, + { + path: 'inventory', + children: [ + { + path: '', + pathMatch: 'full', + redirectTo: 'safety', + }, + { + path: 'safety', + component: AlertInventorySafetyComponent, + title: '安全库存预警', + }, + { + path: 'up', + component: AlertInventoryUpComponent, + title: '安全库存上限', + }, + { + path: 'down', + component: AlertInventoryDownComponent, + title: '安全库存下限', + }, + ], + }, + ], + }, ], }, ], diff --git a/web-admin-app/src/app/components/asset-form/asset-form.component.html b/web-admin-app/src/app/components/asset-form/asset-form.component.html index 2196318..9bd710a 100644 --- a/web-admin-app/src/app/components/asset-form/asset-form.component.html +++ b/web-admin-app/src/app/components/asset-form/asset-form.component.html @@ -12,6 +12,10 @@ --> + + + + } @@ -186,6 +190,30 @@ +
+ + 资产图片 + + + + +
+
+ + 使用手册 + + + + +
+
+ + 保养手册 + + + + +
@if (extraFields.length > 0) { @@ -482,6 +510,9 @@ @case (7) { } + @case (8) { + + } } } diff --git a/web-admin-app/src/app/components/asset-form/asset-form.component.ts b/web-admin-app/src/app/components/asset-form/asset-form.component.ts index f87b24b..3bc842e 100644 --- a/web-admin-app/src/app/components/asset-form/asset-form.component.ts +++ b/web-admin-app/src/app/components/asset-form/asset-form.component.ts @@ -15,6 +15,7 @@ import { NzSafeAny } from 'ng-zorro-antd/core/types' import { NZ_MODAL_DATA } from 'ng-zorro-antd/modal' import { AssetOperationRecordsComponent } from '../asset-operation-records/asset-operation-records.component' import { AssetRepairRecordsComponent } from '../asset-repair-records/asset-repair-records.component' +import { UploadComponent } from '../../shared/components/upload/upload.component' @Component({ selector: 'app-asset-form', @@ -29,6 +30,7 @@ import { AssetRepairRecordsComponent } from '../asset-repair-records/asset-repai MaintenanceSelectComponent, AssetOperationRecordsComponent, AssetRepairRecordsComponent, + UploadComponent, ], templateUrl: './asset-form.component.html', styleUrl: './asset-form.component.less', @@ -108,6 +110,10 @@ export class AssetFormComponent implements OnInit { totalAmountPrice: this.fb.control(null, []), registerDate: this.fb.control(null, []), + maintenanceManual: this.fb.control(null, []), + userManual: this.fb.control(null, []), + img: this.fb.control(null, []), + _extInfo: this.fb.array([]), }) diff --git a/web-admin-app/src/app/components/component-basic-category-tree/component-basic-category-tree.component.ts b/web-admin-app/src/app/components/component-basic-category-tree/component-basic-category-tree.component.ts index ff465ca..a6d8c65 100644 --- a/web-admin-app/src/app/components/component-basic-category-tree/component-basic-category-tree.component.ts +++ b/web-admin-app/src/app/components/component-basic-category-tree/component-basic-category-tree.component.ts @@ -8,6 +8,7 @@ import { NzButtonModule } from 'ng-zorro-antd/button' import { NzSafeAny } from 'ng-zorro-antd/core/types' import { NzDrawerRef, NzDrawerService } from 'ng-zorro-antd/drawer' import { NzDropDownModule } from 'ng-zorro-antd/dropdown' +import { NzIconModule } from 'ng-zorro-antd/icon' import { NzInputModule } from 'ng-zorro-antd/input' import { NzMessageService } from 'ng-zorro-antd/message' import { NzModalService } from 'ng-zorro-antd/modal' @@ -62,6 +63,7 @@ export function buildCateTree(organizations: CateGoryInterface[]): NzTreeNodeOpt NzDropDownModule, NzTreeModule, NzInputModule, + NzIconModule, CommonModule, FormsModule, ReactiveFormsModule, @@ -83,6 +85,8 @@ export class ComponentBasicCategoryTreeComponent { @Output() onSelectedChange = new EventEmitter() + @Input() defaultName?: string = '新分类' + drawerRef?: NzDrawerRef searchValue = '' @@ -138,7 +142,7 @@ export class ComponentBasicCategoryTreeComponent { safetyLimit: 0, upperLimit: 0, parentId, - categoryName: '新分类', + categoryName: this.defaultName, }) .subscribe((res) => { this.expandedKeys.push(String(parentId)) diff --git a/web-admin-app/src/app/components/plan-task/calendar-list/calendar-list.component.html b/web-admin-app/src/app/components/plan-task/calendar-list/calendar-list.component.html index b45d1f4..015e0dd 100644 --- a/web-admin-app/src/app/components/plan-task/calendar-list/calendar-list.component.html +++ b/web-admin-app/src/app/components/plan-task/calendar-list/calendar-list.component.html @@ -1,37 +1,88 @@ - -
    - @switch (date.getDate()) { - @case (8) { - @for (item of listDataMap.eight; track $index) { -
  • - -
  • +
    +
    +
    +
    +
    + + 任务状态 + + + + + + + + + + + +
    +
    + + 计划名称 + + + + +
    +
    + + 创建方式 + + + + + + + + +
    +
    +
    +
    + + + + +
    +
    +
    + + +
      + @switch (date.getDate()) { + @case (8) { + @for (item of listDataMap.eight; track $index) { +
    • + +
    • + } } - } - @case (10) { - @for (item of listDataMap.ten; track $index) { -
    • - -
    • + @case (10) { + @for (item of listDataMap.ten; track $index) { +
    • + +
    • + } } - } - @case (11) { - @for (item of listDataMap.eleven; track $index) { -
    • - -
    • + @case (11) { + @for (item of listDataMap.eleven; track $index) { +
    • + +
    • + } } } - } -
    - - @if (getMonthData(month); as monthData) { -
    -
    {{ monthData }}
    - Backlog number -
    - } -
    -
    +
+ + @if (getMonthData(month); as monthData) { +
+
{{ monthData }}
+ Backlog number +
+ } +
+
+
diff --git a/web-admin-app/src/app/components/plan-task/plan-list/plan-list.component.html b/web-admin-app/src/app/components/plan-task/plan-list/plan-list.component.html index 8ae1809..1e140a1 100644 --- a/web-admin-app/src/app/components/plan-task/plan-list/plan-list.component.html +++ b/web-admin-app/src/app/components/plan-task/plan-list/plan-list.component.html @@ -16,10 +16,30 @@ @switch (key) { @case ('status') { - + @switch (data) { + @case ('1') { + + } + @case ('0') { + + } + } } - @case ('_value') { - {{ data?.length ?? 0 }} + @case ('cycleType') { + @switch (data) { + @case ('day') { + + } + @case ('week') { + + } + @case ('month') { + + } + @case ('once') { + + } + } } @default { diff --git a/web-admin-app/src/app/components/plan-task/plan-list/plan-list.component.ts b/web-admin-app/src/app/components/plan-task/plan-list/plan-list.component.ts index faaf6ae..e1eb31d 100644 --- a/web-admin-app/src/app/components/plan-task/plan-list/plan-list.component.ts +++ b/web-admin-app/src/app/components/plan-task/plan-list/plan-list.component.ts @@ -48,16 +48,16 @@ export class PlanListComponent { this.table .setColumn([ - { key: 'teamKey', title: '计划编号', visible: true }, - { key: 'teamName', title: '计划名称', visible: true }, - { key: 'status', title: '计划状态', visible: true }, - - { key: 'createUser', title: '执行计划', visible: true }, - { key: 'createTime', title: '开始时间', visible: true }, - { key: 'createTime', title: '截止时间', visible: true }, - { key: 'createTime', title: '执行周期', visible: true }, - { key: '_value', title: '下次执行', visible: true }, - { key: 'remark', title: '巡检设备数', visible: true }, + { key: 'businessId', title: '计划编号', width: '170px', visible: true }, + { key: 'name', title: '计划名称', visible: true }, + { key: 'status', title: '计划状态', width: '100px', visible: true }, + + { key: 'teamName', title: '执行班组', visible: true }, + { key: 'expectedStartTime', title: '开始时间', visible: true }, + { key: 'expectedFinishTime', title: '截止时间', visible: true }, + { key: 'cycleType', title: '执行周期', width: '100px', visible: true }, + { key: 'nextExecuteTime', title: '下次执行', width: '150px', visible: true }, + { key: 'count', title: '巡检设备数', width: '100px', visible: true }, ]) .setRowOperate([ { @@ -75,11 +75,9 @@ export class PlanListComponent { } fetchData(p: {}, q: AnyObject) { - return this.api.getPlanPage({ ...p, ...q, platType: this.type }) + return this.api.getPlanPage({ ...p, ...q, planType: this.type }) } - onCopy(data: NzSafeAny) {} - onCreate(data?: NzSafeAny, preview?: boolean) { let nzTitle = data ? '编辑计划' : '添加计划' if (preview) { diff --git a/web-admin-app/src/app/components/plan-task/task-form/task-form.component.ts b/web-admin-app/src/app/components/plan-task/task-form/task-form.component.ts index ed5b01c..b1fffcb 100644 --- a/web-admin-app/src/app/components/plan-task/task-form/task-form.component.ts +++ b/web-admin-app/src/app/components/plan-task/task-form/task-form.component.ts @@ -68,13 +68,18 @@ export class TaskFormComponent { }) this.formGroup = this.fb.group({ + teamId: this.fb.control(null, []), name: this.fb.control(null, [FormValidators.required('请输入')]), remark: this.fb.control(null, []), - plannedDate: this.fb.control(null, [FormValidators.required('请选择')]), + // plannedDate: this.fb.control(null, [FormValidators.required('请选择')]), + actualStartTime: this.fb.control(null, []), businessId: this.fb.control(null, []), attachment: this.fb.control(null, []), + duration: this.fb.control(null, []), + order: this.fb.control(false, []), + limit: this.fb.control(false, []), img: this.fb.control(null, []), assetIdList: this.fb.control([], []), diff --git a/web-admin-app/src/app/components/plan-task/task-list/task-list.component.html b/web-admin-app/src/app/components/plan-task/task-list/task-list.component.html index 4cb001d..0cecd75 100644 --- a/web-admin-app/src/app/components/plan-task/task-list/task-list.component.html +++ b/web-admin-app/src/app/components/plan-task/task-list/task-list.component.html @@ -10,10 +10,48 @@ @switch (key) { @case ('status') { - + @switch (data) { + + @case ('APPROVAL') { + 待处理 + } + @case ('COMPLETED') { + 已完成 + } + @case ('DISCARDED') { + 已废弃 + } + @case ('DRAFTING') { + 草稿中 + } + @case ('EXCEPTION') { + 异常 + } + @case ('REJECTED') { + 已驳回 + } + @case ('SUSPENDED') { + 已挂起 + } + @case ('TO_BE_ASSIGNED') { + 待分配 + } + @default { + {{ data }} + } + } } - @case ('_value') { - {{ data?.length ?? 0 }} + @case ('finished') { + {{ (row.total ?? 0) - (row.unfinished ?? 0) }} + } + @case ('unfinished') { + {{ data ?? '-' }} + } + @case ('total') { + {{ data ?? '-' }} + } + @case ('actualFinishTime') { + {{ data ?? '-' }} } @default { diff --git a/web-admin-app/src/app/components/plan-task/task-list/task-list.component.ts b/web-admin-app/src/app/components/plan-task/task-list/task-list.component.ts index 35a1149..617048e 100644 --- a/web-admin-app/src/app/components/plan-task/task-list/task-list.component.ts +++ b/web-admin-app/src/app/components/plan-task/task-list/task-list.component.ts @@ -48,17 +48,17 @@ export class TaskListComponent { this.table .setColumn([ - { key: 'teamKey', title: '任务名称', visible: true }, - { key: 'teamName', title: '任务状态', visible: true }, - { key: 'status', title: '任务来源', visible: true }, - - { key: 'createUser', title: '开始时间', visible: true }, - { key: 'createTime', title: '任务时长', visible: true }, - { key: 'createTime', title: '完成时间', visible: true }, - { key: 'createTime', title: '设备总数', visible: true }, - { key: '_value', title: '待处理设备数', visible: true }, - { key: 'remark', title: '已处理设备数', visible: true }, - { key: 'remark', title: '执行班组', visible: true }, + { key: 'name', title: '任务名称', visible: true }, + { key: 'status', title: '任务状态', width: '120px', visible: true }, + { key: 'createType', title: '任务来源', width: '120px', visible: true }, + + { key: 'actualStartTime', title: '开始时间', visible: true }, + { key: 'duration', title: '任务时长', width: '80px', visible: true }, + { key: 'actualFinishTime', title: '完成时间', visible: true }, + { key: 'total', title: '设备总数', width: '100px', visible: true }, + { key: 'unfinished', title: '待处理设备数', width: '100px', visible: true }, + { key: 'finished', title: '已处理设备数', width: '100px', visible: true }, + { key: 'teamName', title: '执行班组', visible: true }, ]) .setRowOperate([ { diff --git a/web-admin-app/src/app/components/status-tag/status-tag.component.html b/web-admin-app/src/app/components/status-tag/status-tag.component.html index bc5c372..e3fd5d1 100644 --- a/web-admin-app/src/app/components/status-tag/status-tag.component.html +++ b/web-admin-app/src/app/components/status-tag/status-tag.component.html @@ -1,4 +1,4 @@ -@switch (status) { +@switch (s) { @case (0) { } diff --git a/web-admin-app/src/app/components/status-tag/status-tag.component.ts b/web-admin-app/src/app/components/status-tag/status-tag.component.ts index 66bb64e..059a949 100644 --- a/web-admin-app/src/app/components/status-tag/status-tag.component.ts +++ b/web-admin-app/src/app/components/status-tag/status-tag.component.ts @@ -11,7 +11,11 @@ import { NzBadgeModule } from 'ng-zorro-antd/badge' export class StatusTagComponent { constructor() {} - @Input() status: number = 0 + @Input() status: number | string = 0 + + get s() { + return Number(this.status) + } ngOnInit() {} } diff --git a/web-admin-app/src/app/constants/index.ts b/web-admin-app/src/app/constants/index.ts index ab40ee1..33421fd 100644 --- a/web-admin-app/src/app/constants/index.ts +++ b/web-admin-app/src/app/constants/index.ts @@ -127,3 +127,38 @@ export const taskTypeTitle = new Map([ ['repair', '报修'], ['stocktaking', '盘点'], ]) +// 业务类型:ALLOCATE-资产调拨,BORROW-资产借用,COLLECTION-资产领用,OUTBOUND-资产出库, +// RETURN-资产归还,RETURN_INVENTORY-资产退库,STORAGE-资产入库"),\n TRANSFER("transfer", "资产转移"), +// REPAIR_FAULT("repair_fault", "故障登记"),\n REPAIR("repair", "设备报修"),\n +// RETIREMENT("retirement", "资产报废"),\n +// CLEAN("clean", "资产清理"),\n +// UNKNOWN("null", "未知操作"); + +export const businessType = new Map([ + ['ALLOCATE', '资产调拨'], + ['BORROW', '资产借用'], + ['COLLECTION', '资产领用'], + ['OUTBOUND', '资产出库'], + ['RETURN', '资产归还'], + ['RETURN_INVENTORY', '资产退库'], + ['STORAGE', '资产入库'], + ['TRANSFER', '资产转移'], + ['REPAIR_FAULT', '故障登记'], + ['REPAIR', '设备报修'], + ['RETIREMENT', '资产报废'], + ['CLEAN', '资产清理'], + ['UNKNOWN', '未知操作'], +]) + +// APPROVAL,COMPLETED,DISCARDED,DRAFTING,EXCEPTION,REJECTED,SUSPENDED,TO_BE_ASSIGNED + +export const flowStatus = new Map([ + ['APPROVAL', '审批中'], + ['COMPLETED', '已完成'], + ['DISCARDED', '已废弃'], + ['DRAFTING', '起草中'], + ['EXCEPTION', '流程异常'], + ['REJECTED', '已驳回'], + ['SUSPENDED', '已挂起'], + ['TO_BE_ASSIGNED', '待分配'], +]) diff --git a/web-admin-app/src/app/pages/fixed-asset/asset-management/asset-management.component.html b/web-admin-app/src/app/pages/fixed-asset/asset-management/asset-management.component.html index 0db5ad5..74d0c99 100644 --- a/web-admin-app/src/app/pages/fixed-asset/asset-management/asset-management.component.html +++ b/web-admin-app/src/app/pages/fixed-asset/asset-management/asset-management.component.html @@ -1,9 +1,22 @@ - + +
    +
  • 资产入库
  • +
  • 资产领用
  • +
  • 资产退库
  • +
  • 资产借用
  • +
  • 资产归还
  • +
  • 资产调拨
  • +
  • 资产转移
  • +
  • 资产报废
  • +
+
@@ -20,8 +33,10 @@ {{ ASSET_STATUS_MAP[data] }} } - @case ('_useUser') { - {{ data?.userName ?? '-' }} + @case ('type') { + + {{ businessType.get(data) }} + } @case ('_warehouse') { {{ data?.name ?? '-' }} @@ -54,7 +69,7 @@ nzPlacement="bottomRight" class="!w-24" [nzDropdownMatchSelectWidth]="false" - formControlName="model" + formControlName="type" nzAllowClear > @@ -65,7 +80,7 @@ - + diff --git a/web-admin-app/src/app/pages/fixed-asset/asset-management/asset-management.component.ts b/web-admin-app/src/app/pages/fixed-asset/asset-management/asset-management.component.ts index d6b0302..01bd67c 100644 --- a/web-admin-app/src/app/pages/fixed-asset/asset-management/asset-management.component.ts +++ b/web-admin-app/src/app/pages/fixed-asset/asset-management/asset-management.component.ts @@ -6,11 +6,23 @@ import { ApiService } from 'app/services' import { SharedModule } from 'app/shared/shared.module' import { format } from 'date-fns' import { lastValueFrom, of } from 'rxjs' -import { AssetFormComponent, ManufacturerSelectComponent, PositionSelectComponent } from 'app/components' +import { + AssetBusinessAllotFormComponent, + AssetBusinessBorrowFormComponent, + AssetBusinessCollectionComponent, + AssetBusinessRetirementComponent, + AssetBusinessReturnFormComponent, + AssetBusinessRevertFormComponent, + AssetBusinessStorageFormComponent, + AssetBusinessTransferFormComponent, + AssetFormComponent, + ManufacturerSelectComponent, + PositionSelectComponent, +} from 'app/components' import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal' import { NzMessageService } from 'ng-zorro-antd/message' import { NzSafeAny } from 'ng-zorro-antd/core/types' -import { ASSET_SOURCE_MAP, ASSET_STATUS, ASSET_STATUS_MAP, ASSET_TYPE } from 'app/constants' +import { ASSET_SOURCE_MAP, ASSET_STATUS, ASSET_STATUS_MAP, ASSET_TYPE, businessType } from 'app/constants' import { Utils } from 'app/utils' @Component({ @@ -29,7 +41,7 @@ export class AssetManagementComponent { queryForm = new FormGroup({ name: new FormControl(), - model: new FormControl(), + type: new FormControl(), status: new FormControl(), assetCode: new FormControl(), serialNumber: new FormControl(), @@ -48,6 +60,8 @@ export class AssetManagementComponent { ASSET_TYPE = ASSET_TYPE + businessType = businessType + ngOnInit(): void { this.table .setConfig({ @@ -55,44 +69,88 @@ export class AssetManagementComponent { rowKey: 'assetId', }) .setColumn([ - { key: 'assetCode', title: '业务编号', visible: true }, + { key: 'businessId', title: '业务编号', visible: true }, { key: 'name', title: '流程名称', visible: true }, - { key: '_category', title: '流程类型', visible: true }, + { key: 'type', title: '流程类型', visible: true }, { key: 'status', title: '流程状态', visible: true }, { key: '_ownCompany', title: '紧急程度', visible: true }, { key: '_useOrganization', title: '发起人', visible: true }, - { key: '_position', title: '创建时间', visible: true }, + { key: 'createTime', title: '创建时间', visible: true }, { key: '_position', title: '当前节点', visible: true }, { key: '_position', title: '备注', visible: true }, ]) - .setRowOperate([ - { - title: '查看', - onClick: (v) => { - this.onCreate(v, true) - }, - }, - { title: '修改', onClick: this.onCreate.bind(this) }, - { title: '复制', onClick: this.onCopy.bind(this) }, - { title: '二维码', onClick: this.qrcode.bind(this) }, - { title: '删除', onClick: this.deleteItem.bind(this) }, - ]) + // .setRowOperate([ + // { title: '二维码', onClick: this.qrcode.bind(this) }, + // { title: '删除', onClick: this.deleteItem.bind(this) }, + // ]) } fetchData(p: {}, q: AnyObject) { return this.api.getAssetManagerPage({ ...p, ...q }) } - onCopy(data: NzSafeAny) {} + onEntry(data?: NzSafeAny, preview?: boolean) { + let nzTitle = data ? '编辑资产入库' : '添加资产入库' + if (preview) { + nzTitle = '预览资产入库' + } + this.modal.create({ + nzTitle, + nzContent: AssetBusinessStorageFormComponent, + nzWidth: '80vw', + nzWrapClassName: 'modal-lg', + nzData: { + value: data, + preview, + }, + nzOnOk: async (e) => { + const vals = e.getValues() + if (vals) { + const res = await lastValueFrom(this.api.saveBusinessStorage(vals)) + this.msg.success(res.desc) + this.table.ref.reload() + return true + } + return false + }, + }) + } + onDistribution(data?: NzSafeAny, preview?: boolean) { + let nzTitle = data ? '编辑资产领用' : '添加资产领用' + if (preview) { + nzTitle = '预览资产领用' + } + this.modal.create({ + nzTitle, + nzContent: AssetBusinessCollectionComponent, + nzWidth: '80vw', + nzWrapClassName: 'modal-lg', + nzData: { + value: data, + preview, + }, + nzOnOk: async (e) => { + const vals = e.getValues() + if (vals) { + const res = await lastValueFrom(this.api.saveBusinessCollection(vals)) + this.msg.success(res.desc) + this.table.ref.reload() + return true + } - onCreate(data?: NzSafeAny, preview?: boolean) { - let nzTitle = data ? '编辑资产' : '添加资产' + return false + }, + }) + } + + onReturn(data?: NzSafeAny, preview?: boolean) { + let nzTitle = data ? '编辑资产退库' : '添加资产退库' if (preview) { - nzTitle = '预览资产' + nzTitle = '预览资产退库' } this.modal.create({ nzTitle, - nzContent: AssetFormComponent, + nzContent: AssetBusinessReturnFormComponent, nzWidth: '80vw', nzWrapClassName: 'modal-lg', nzData: { @@ -102,7 +160,7 @@ export class AssetManagementComponent { nzOnOk: async (e) => { const vals = e.getValues() if (vals) { - const res = await lastValueFrom(this.api.saveAsset(vals)) + const res = await lastValueFrom(this.api.saveBusinessReturnInventory(vals)) this.msg.success(res.desc) this.table.ref.reload() return true @@ -112,7 +170,144 @@ export class AssetManagementComponent { }, }) } + onBorrow(data?: NzSafeAny, preview?: boolean) { + let nzTitle = data ? '编辑资产借用' : '添加资产借用' + if (preview) { + nzTitle = '预览资产借用' + } + this.modal.create({ + nzTitle, + nzContent: AssetBusinessBorrowFormComponent, + nzWidth: '80vw', + nzWrapClassName: 'modal-lg', + nzData: { + value: data, + preview, + }, + nzOnOk: async (e) => { + const vals = e.getValues() + if (vals) { + const res = await lastValueFrom(this.api.saveBusinessBorrow(vals)) + this.msg.success(res.desc) + this.table.ref.reload() + return true + } + + return false + }, + }) + } + onAllot(data?: NzSafeAny, preview?: boolean) { + let nzTitle = data ? '编辑资产调拨' : '添加资产调拨' + if (preview) { + nzTitle = '预览资产调拨' + } + this.modal.create({ + nzTitle, + nzContent: AssetBusinessAllotFormComponent, + nzWidth: '80vw', + nzWrapClassName: 'modal-lg', + nzData: { + value: data, + preview, + }, + nzOnOk: async (e) => { + const vals = e.getValues() + if (vals) { + const res = await lastValueFrom(this.api.saveBusinessAllocate(vals)) + this.msg.success(res.desc) + this.table.ref.reload() + return true + } + + return false + }, + }) + } + + onTransfer(data?: NzSafeAny, preview?: boolean) { + let nzTitle = data ? '编辑资产转移' : '添加资产转移' + if (preview) { + nzTitle = '预览资产转移' + } + this.modal.create({ + nzTitle, + nzContent: AssetBusinessTransferFormComponent, + nzWidth: '80vw', + nzWrapClassName: 'modal-lg', + nzData: { + value: data, + preview, + }, + nzOnOk: async (e) => { + const vals = e.getValues() + if (vals) { + const res = await lastValueFrom(this.api.saveBusinessTransfer(vals)) + this.msg.success(res.desc) + this.table.ref.reload() + return true + } + + return false + }, + }) + } + + onScrap(data?: NzSafeAny, preview?: boolean) { + let nzTitle = data ? '编辑资产报废' : '添加资产报废' + if (preview) { + nzTitle = '预览资产报废' + } + this.modal.create({ + nzTitle, + nzContent: AssetBusinessRetirementComponent, + nzWidth: '80vw', + nzWrapClassName: 'modal-lg', + nzData: { + value: data, + preview, + }, + nzOnOk: async (e) => { + const vals = e.getValues() + if (vals) { + const res = await lastValueFrom(this.api.saveBusinessRetirement(vals)) + this.msg.success(res.desc) + this.table.ref.reload() + return true + } + return false + }, + }) + } + + onRevert(data?: NzSafeAny, preview?: boolean) { + let nzTitle = data ? '编辑资产归还' : '添加资产归还' + if (preview) { + nzTitle = '预览资产归还' + } + this.modal.create({ + nzTitle, + nzContent: AssetBusinessRevertFormComponent, + nzWidth: '80vw', + nzWrapClassName: 'modal-lg', + nzData: { + value: data, + preview, + }, + nzOnOk: async (e) => { + const vals = e.getValues() + if (vals) { + const res = await lastValueFrom(this.api.saveBusinessRevert(vals)) + this.msg.success(res.desc) + this.table.ref.reload() + return true + } + + return false + }, + }) + } deleteItem(item?: NzSafeAny) { const ids = item ? [item.assetId] : Array.from(this.table.ref.selected) this.modal.confirm({ diff --git a/web-admin-app/src/app/pages/fixed-asset/fixed-asset.component.html b/web-admin-app/src/app/pages/fixed-asset/fixed-asset.component.html index 6edf87b..2be54b3 100644 --- a/web-admin-app/src/app/pages/fixed-asset/fixed-asset.component.html +++ b/web-admin-app/src/app/pages/fixed-asset/fixed-asset.component.html @@ -343,15 +343,7 @@ > 维修类型 -
  • - 维修类型 -
  • +
  • maintenance-calendar works!

    + diff --git a/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-calendar/maintenance-calendar.component.ts b/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-calendar/maintenance-calendar.component.ts index dfbe11e..01e7552 100644 --- a/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-calendar/maintenance-calendar.component.ts +++ b/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-calendar/maintenance-calendar.component.ts @@ -1,12 +1,12 @@ -import { Component } from '@angular/core'; +import { Component } from '@angular/core' +import { CalendarListComponent } from 'app/components/plan-task/calendar-list/calendar-list.component' +import { SharedModule } from 'app/shared/shared.module' @Component({ - selector: 'app-maintenance-calendar', - standalone: true, - imports: [], - templateUrl: './maintenance-calendar.component.html', - styleUrl: './maintenance-calendar.component.less' + selector: 'app-maintenance-calendar', + standalone: true, + imports: [SharedModule, CalendarListComponent], + templateUrl: './maintenance-calendar.component.html', + styleUrl: './maintenance-calendar.component.less', }) -export class MaintenanceCalendarComponent { - -} +export class MaintenanceCalendarComponent {} diff --git a/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-plan/maintenance-plan.component.html b/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-plan/maintenance-plan.component.html index ed5167f..c8406cc 100644 --- a/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-plan/maintenance-plan.component.html +++ b/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-plan/maintenance-plan.component.html @@ -1 +1 @@ -

    maintenance-plan works!

    + diff --git a/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-plan/maintenance-plan.component.ts b/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-plan/maintenance-plan.component.ts index 700a87a..19ce92e 100644 --- a/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-plan/maintenance-plan.component.ts +++ b/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-plan/maintenance-plan.component.ts @@ -1,12 +1,12 @@ -import { Component } from '@angular/core'; +import { Component } from '@angular/core' +import { PlanListComponent } from 'app/components/plan-task/plan-list/plan-list.component' +import { SharedModule } from 'app/shared/shared.module' @Component({ - selector: 'app-maintenance-plan', - standalone: true, - imports: [], - templateUrl: './maintenance-plan.component.html', - styleUrl: './maintenance-plan.component.less' + selector: 'app-maintenance-plan', + standalone: true, + imports: [SharedModule, PlanListComponent], + templateUrl: './maintenance-plan.component.html', + styleUrl: './maintenance-plan.component.less', }) -export class MaintenancePlanComponent { - -} +export class MaintenancePlanComponent {} diff --git a/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-task/maintenance-task.component.html b/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-task/maintenance-task.component.html index b4d674b..48a767e 100644 --- a/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-task/maintenance-task.component.html +++ b/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-task/maintenance-task.component.html @@ -1 +1 @@ -

    maintenance-task works!

    + diff --git a/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-task/maintenance-task.component.ts b/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-task/maintenance-task.component.ts index 2e8cd2b..a12eaf3 100644 --- a/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-task/maintenance-task.component.ts +++ b/web-admin-app/src/app/pages/fixed-asset/plan-task/maintenance-task/maintenance-task.component.ts @@ -1,12 +1,12 @@ -import { Component } from '@angular/core'; +import { Component } from '@angular/core' +import { TaskListComponent } from 'app/components/plan-task/task-list/task-list.component' +import { SharedModule } from 'app/shared/shared.module' @Component({ - selector: 'app-maintenance-task', - standalone: true, - imports: [], - templateUrl: './maintenance-task.component.html', - styleUrl: './maintenance-task.component.less' + selector: 'app-maintenance-task', + standalone: true, + imports: [SharedModule, TaskListComponent], + templateUrl: './maintenance-task.component.html', + styleUrl: './maintenance-task.component.less', }) -export class MaintenanceTaskComponent { - -} +export class MaintenanceTaskComponent {} diff --git a/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-calendar/stocktaking-calendar.component.html b/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-calendar/stocktaking-calendar.component.html index f1369e0..16e5fa1 100644 --- a/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-calendar/stocktaking-calendar.component.html +++ b/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-calendar/stocktaking-calendar.component.html @@ -1 +1 @@ -

    stocktaking-calendar works!

    + diff --git a/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-calendar/stocktaking-calendar.component.ts b/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-calendar/stocktaking-calendar.component.ts index 004aaf5..dbe7991 100644 --- a/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-calendar/stocktaking-calendar.component.ts +++ b/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-calendar/stocktaking-calendar.component.ts @@ -1,12 +1,12 @@ -import { Component } from '@angular/core'; +import { Component } from '@angular/core' +import { CalendarListComponent } from 'app/components/plan-task/calendar-list/calendar-list.component' +import { SharedModule } from 'app/shared/shared.module' @Component({ - selector: 'app-stocktaking-calendar', - standalone: true, - imports: [], - templateUrl: './stocktaking-calendar.component.html', - styleUrl: './stocktaking-calendar.component.less' + selector: 'app-stocktaking-calendar', + standalone: true, + imports: [SharedModule, CalendarListComponent], + templateUrl: './stocktaking-calendar.component.html', + styleUrl: './stocktaking-calendar.component.less', }) -export class StocktakingCalendarComponent { - -} +export class StocktakingCalendarComponent {} diff --git a/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-plan/stocktaking-plan.component.html b/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-plan/stocktaking-plan.component.html index 92aa86a..99c5210 100644 --- a/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-plan/stocktaking-plan.component.html +++ b/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-plan/stocktaking-plan.component.html @@ -1 +1 @@ -

    stocktaking-plan works!

    + diff --git a/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-plan/stocktaking-plan.component.ts b/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-plan/stocktaking-plan.component.ts index feda974..be6afdd 100644 --- a/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-plan/stocktaking-plan.component.ts +++ b/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-plan/stocktaking-plan.component.ts @@ -1,12 +1,12 @@ -import { Component } from '@angular/core'; +import { Component } from '@angular/core' +import { PlanListComponent } from 'app/components/plan-task/plan-list/plan-list.component' +import { SharedModule } from 'app/shared/shared.module' @Component({ - selector: 'app-stocktaking-plan', - standalone: true, - imports: [], - templateUrl: './stocktaking-plan.component.html', - styleUrl: './stocktaking-plan.component.less' + selector: 'app-stocktaking-plan', + standalone: true, + imports: [SharedModule, PlanListComponent], + templateUrl: './stocktaking-plan.component.html', + styleUrl: './stocktaking-plan.component.less', }) -export class StocktakingPlanComponent { - -} +export class StocktakingPlanComponent {} diff --git a/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-task/stocktaking-task.component.html b/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-task/stocktaking-task.component.html index 9f7cd97..1522207 100644 --- a/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-task/stocktaking-task.component.html +++ b/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-task/stocktaking-task.component.html @@ -1 +1 @@ -

    stocktaking-task works!

    + diff --git a/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-task/stocktaking-task.component.ts b/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-task/stocktaking-task.component.ts index a0329b7..fd49be8 100644 --- a/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-task/stocktaking-task.component.ts +++ b/web-admin-app/src/app/pages/fixed-asset/plan-task/stocktaking-task/stocktaking-task.component.ts @@ -1,12 +1,12 @@ -import { Component } from '@angular/core'; +import { Component } from '@angular/core' +import { TaskListComponent } from 'app/components/plan-task/task-list/task-list.component' +import { SharedModule } from 'app/shared/shared.module' @Component({ - selector: 'app-stocktaking-task', - standalone: true, - imports: [], - templateUrl: './stocktaking-task.component.html', - styleUrl: './stocktaking-task.component.less' + selector: 'app-stocktaking-task', + standalone: true, + imports: [SharedModule, TaskListComponent], + templateUrl: './stocktaking-task.component.html', + styleUrl: './stocktaking-task.component.less', }) -export class StocktakingTaskComponent { - -} +export class StocktakingTaskComponent {} diff --git a/web-admin-app/src/app/pages/flow/flow-layout/flow-layout.component.html b/web-admin-app/src/app/pages/flow/flow-layout/flow-layout.component.html index 3d78468..cc6fcdb 100644 --- a/web-admin-app/src/app/pages/flow/flow-layout/flow-layout.component.html +++ b/web-admin-app/src/app/pages/flow/flow-layout/flow-layout.component.html @@ -38,6 +38,24 @@ > 我已处理
  • +
  • + 流程管理 +
  • +
  • + 工作报表 +
  • diff --git a/web-admin-app/src/app/pages/flow/flow-main/flow-main.component.ts b/web-admin-app/src/app/pages/flow/flow-main/flow-main.component.ts index baf85cb..359f3be 100644 --- a/web-admin-app/src/app/pages/flow/flow-main/flow-main.component.ts +++ b/web-admin-app/src/app/pages/flow/flow-main/flow-main.component.ts @@ -110,7 +110,10 @@ export class FlowMainComponent implements OnInit { console.log('vals', vals) if (vals) { if (type === 'repair') { - const res = await lastValueFrom(this.api.createRapairTask(vals)) + const res = await lastValueFrom(this.api.createRapairTask({ ...vals })) + this.msg.success(res.desc) + } else { + const res = await lastValueFrom(this.api.createTask({ ...vals, jobType: type })) this.msg.success(res.desc) } diff --git a/web-admin-app/src/app/pages/flow/flow-management/flow-management.component.html b/web-admin-app/src/app/pages/flow/flow-management/flow-management.component.html new file mode 100644 index 0000000..a98afbc --- /dev/null +++ b/web-admin-app/src/app/pages/flow/flow-management/flow-management.component.html @@ -0,0 +1 @@ +

    flow-management works!

    diff --git a/web-admin-app/src/app/pages/flow/flow-management/flow-management.component.less b/web-admin-app/src/app/pages/flow/flow-management/flow-management.component.less new file mode 100644 index 0000000..e69de29 diff --git a/web-admin-app/src/app/pages/flow/flow-management/flow-management.component.ts b/web-admin-app/src/app/pages/flow/flow-management/flow-management.component.ts new file mode 100644 index 0000000..495f135 --- /dev/null +++ b/web-admin-app/src/app/pages/flow/flow-management/flow-management.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-flow-management', + standalone: true, + imports: [], + templateUrl: './flow-management.component.html', + styleUrl: './flow-management.component.less' +}) +export class FlowManagementComponent { + +} diff --git a/web-admin-app/src/app/pages/flow/flow-report/flow-report.component.html b/web-admin-app/src/app/pages/flow/flow-report/flow-report.component.html new file mode 100644 index 0000000..c178d98 --- /dev/null +++ b/web-admin-app/src/app/pages/flow/flow-report/flow-report.component.html @@ -0,0 +1 @@ +

    flow-report works!

    diff --git a/web-admin-app/src/app/pages/flow/flow-report/flow-report.component.less b/web-admin-app/src/app/pages/flow/flow-report/flow-report.component.less new file mode 100644 index 0000000..e69de29 diff --git a/web-admin-app/src/app/pages/flow/flow-report/flow-report.component.ts b/web-admin-app/src/app/pages/flow/flow-report/flow-report.component.ts new file mode 100644 index 0000000..3ab3eec --- /dev/null +++ b/web-admin-app/src/app/pages/flow/flow-report/flow-report.component.ts @@ -0,0 +1,12 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-flow-report', + standalone: true, + imports: [], + templateUrl: './flow-report.component.html', + styleUrl: './flow-report.component.less' +}) +export class FlowReportComponent { + +} diff --git a/web-admin-app/src/app/pages/msg/flow-msg/flow-msg.component.html b/web-admin-app/src/app/pages/msg/flow-msg/flow-msg.component.html new file mode 100644 index 0000000..191a0f7 --- /dev/null +++ b/web-admin-app/src/app/pages/msg/flow-msg/flow-msg.component.html @@ -0,0 +1,44 @@ + +
    + + + @switch (key) { + @case ('_useUser') { + {{ data?.userName ?? '-' }} + } + @case ('_warehouse') { + {{ data?.name ?? '-' }} + } + @case ('_position') { + {{ data?.name ?? '-' }} + } + @case ('_head') { + {{ data?.userName ?? '-' }} + } + @case ('_ownCompany') { + {{ data?.organizationName ?? '-' }} + } + @case ('_useOrganization') { + {{ data?.organizationName ?? '-' }} + } + @case ('_category') { + {{ data?.categoryName ?? '-' }} + } + @default { + {{ data }} + } + } + + + + + + + + + + + + +
    +
    diff --git a/web-admin-app/src/app/pages/msg/flow-msg/flow-msg.component.less b/web-admin-app/src/app/pages/msg/flow-msg/flow-msg.component.less new file mode 100644 index 0000000..e69de29 diff --git a/web-admin-app/src/app/pages/msg/flow-msg/flow-msg.component.ts b/web-admin-app/src/app/pages/msg/flow-msg/flow-msg.component.ts new file mode 100644 index 0000000..d944139 --- /dev/null +++ b/web-admin-app/src/app/pages/msg/flow-msg/flow-msg.component.ts @@ -0,0 +1,57 @@ +import { Component, TemplateRef, ViewChild } from '@angular/core' +import { FormControl, FormGroup } from '@angular/forms' + +import { AnyObject, TableOption } from 'app/shared/components/server-paginated-table' +import { ApiService } from 'app/services' +import { SharedModule } from 'app/shared/shared.module' +import { format } from 'date-fns' +import { lastValueFrom, of } from 'rxjs' +import { NzSafeAny } from 'ng-zorro-antd/core/types' +import { NzModalService } from 'ng-zorro-antd/modal' +import { NzMessageService } from 'ng-zorro-antd/message' +import { BUSINESS_STATUS_MAP } from 'app/constants' +import { FormValidators } from 'app/utils' + +@Component({ + selector: 'app-flow-msg', + standalone: true, + imports: [SharedModule], + templateUrl: './flow-msg.component.html', + styleUrl: './flow-msg.component.less', +}) +export class FlowMsgComponent { + constructor( + private api: ApiService, + private modal: NzModalService, + private msg: NzMessageService, + ) {} + + @ViewChild('createFormTpl') createFormTpl!: TemplateRef<{}> + + queryForm = new FormGroup({ + logContent: new FormControl(''), + logType: new FormControl(''), + createTime: new FormControl(''), + }) + + table = new TableOption(this.fetchData.bind(this)) + + ngOnInit(): void { + this.table + // .setConfig({ + // selectable: true, + // rowKey: 'id', + // }) + .setColumn([ + { key: 'logId', title: '序号', visible: true }, + { key: 'createTime', title: '时间', visible: true }, + { key: 'logType', title: '类型', visible: true }, + { key: 'logContent', title: '内容', visible: true }, + { key: 'logContent', title: '待我处理', visible: true }, + ]) + } + + fetchData(p: {}, q: AnyObject) { + return this.api.getAlarmMsg({ ...p, ...q }) + } +} diff --git a/web-admin-app/src/app/pages/msg/msg-layout/msg-layout.component.html b/web-admin-app/src/app/pages/msg/msg-layout/msg-layout.component.html new file mode 100644 index 0000000..c08dddd --- /dev/null +++ b/web-admin-app/src/app/pages/msg/msg-layout/msg-layout.component.html @@ -0,0 +1,67 @@ + + +
    + +
    diff --git a/web-admin-app/src/app/pages/msg/msg-layout/msg-layout.component.less b/web-admin-app/src/app/pages/msg/msg-layout/msg-layout.component.less new file mode 100644 index 0000000..e69de29 diff --git a/web-admin-app/src/app/pages/msg/msg-layout/msg-layout.component.ts b/web-admin-app/src/app/pages/msg/msg-layout/msg-layout.component.ts new file mode 100644 index 0000000..884cbd1 --- /dev/null +++ b/web-admin-app/src/app/pages/msg/msg-layout/msg-layout.component.ts @@ -0,0 +1,24 @@ +import { Component } from '@angular/core' +import { Router } from '@angular/router' +import { SharedModule } from 'app/shared/shared.module' + +@Component({ + selector: 'app-flow-layout', + standalone: true, + imports: [SharedModule], + templateUrl: './msg-layout.component.html', + styleUrl: './msg-layout.component.less', +}) +export class MsgLayoutComponent { + constructor(private router: Router) { + this.openedSubmenu = this.router.url + } + + openedSubmenu = '' + + ngOnInit(): void {} + + onMenuOpenChange(open: boolean) { + this.openedSubmenu = open ? this.router.url : '' + } +} diff --git a/web-admin-app/src/app/pages/msg/system-log/system-log.component.html b/web-admin-app/src/app/pages/msg/system-log/system-log.component.html new file mode 100644 index 0000000..191a0f7 --- /dev/null +++ b/web-admin-app/src/app/pages/msg/system-log/system-log.component.html @@ -0,0 +1,44 @@ + +
    + + + @switch (key) { + @case ('_useUser') { + {{ data?.userName ?? '-' }} + } + @case ('_warehouse') { + {{ data?.name ?? '-' }} + } + @case ('_position') { + {{ data?.name ?? '-' }} + } + @case ('_head') { + {{ data?.userName ?? '-' }} + } + @case ('_ownCompany') { + {{ data?.organizationName ?? '-' }} + } + @case ('_useOrganization') { + {{ data?.organizationName ?? '-' }} + } + @case ('_category') { + {{ data?.categoryName ?? '-' }} + } + @default { + {{ data }} + } + } + + + + + + + + + + + + +
    +
    diff --git a/web-admin-app/src/app/pages/msg/system-log/system-log.component.less b/web-admin-app/src/app/pages/msg/system-log/system-log.component.less new file mode 100644 index 0000000..e69de29 diff --git a/web-admin-app/src/app/pages/msg/system-log/system-log.component.ts b/web-admin-app/src/app/pages/msg/system-log/system-log.component.ts new file mode 100644 index 0000000..803acc1 --- /dev/null +++ b/web-admin-app/src/app/pages/msg/system-log/system-log.component.ts @@ -0,0 +1,56 @@ +import { Component, TemplateRef, ViewChild } from '@angular/core' +import { FormControl, FormGroup } from '@angular/forms' + +import { AnyObject, TableOption } from 'app/shared/components/server-paginated-table' +import { ApiService } from 'app/services' +import { SharedModule } from 'app/shared/shared.module' +import { format } from 'date-fns' +import { lastValueFrom, of } from 'rxjs' +import { NzSafeAny } from 'ng-zorro-antd/core/types' +import { NzModalService } from 'ng-zorro-antd/modal' +import { NzMessageService } from 'ng-zorro-antd/message' +import { BUSINESS_STATUS_MAP } from 'app/constants' +import { FormValidators } from 'app/utils' + +@Component({ + selector: 'app-alert-borrow', + standalone: true, + imports: [SharedModule], + templateUrl: './system-log.component.html', + styleUrl: './system-log.component.less', +}) +export class SystemLogComponent { + constructor( + private api: ApiService, + private modal: NzModalService, + private msg: NzMessageService, + ) {} + + @ViewChild('createFormTpl') createFormTpl!: TemplateRef<{}> + + queryForm = new FormGroup({ + logContent: new FormControl(''), + logType: new FormControl(''), + createTime: new FormControl(''), + }) + + table = new TableOption(this.fetchData.bind(this)) + + ngOnInit(): void { + this.table + // .setConfig({ + // selectable: true, + // rowKey: 'id', + // }) + .setColumn([ + { key: 'logId', title: '序号', visible: true }, + { key: 'createTime', title: '时间', visible: true }, + { key: 'logType', title: '类型', visible: true }, + { key: 'logContent', title: '内容', visible: true }, + ]) + } + + fetchData(p: {}, q: AnyObject) { + return this.api.getSysLog({ ...p, ...q }) + } +} diff --git a/web-admin-app/src/app/pages/system/system-address/system-address.component.html b/web-admin-app/src/app/pages/system/system-address/system-address.component.html index 8f53538..c58ef57 100644 --- a/web-admin-app/src/app/pages/system/system-address/system-address.component.html +++ b/web-admin-app/src/app/pages/system/system-address/system-address.component.html @@ -1,7 +1,11 @@
    - +
    diff --git a/web-admin-app/src/app/services/api.service.ts b/web-admin-app/src/app/services/api.service.ts index f70deff..b4c7095 100644 --- a/web-admin-app/src/app/services/api.service.ts +++ b/web-admin-app/src/app/services/api.service.ts @@ -667,4 +667,14 @@ export class ApiService { createRapairTask(data: {}) { return this.http.post(`/api/v2/flowable/device/start/repair`, data) } + createTask(data: {}) { + return this.http.post(`/api/v2/flowable/device/start`, data) + } + + getSysLog(data: {}) { + return this.http.post('/api/v2/sysLog/list', data) + } + getAlarmMsg(data: {}) { + return this.http.post('/api/v2/alarm/list', data) + } } diff --git a/web-admin-app/src/app/shared/components/header/header.component.html b/web-admin-app/src/app/shared/components/header/header.component.html index 65e6623..6840138 100644 --- a/web-admin-app/src/app/shared/components/header/header.component.html +++ b/web-admin-app/src/app/shared/components/header/header.component.html @@ -65,7 +65,7 @@ 系统管理 diff --git a/web-admin-app/src/app/shared/components/upload/upload.component.html b/web-admin-app/src/app/shared/components/upload/upload.component.html index 6e4622b..9fe8dba 100644 --- a/web-admin-app/src/app/shared/components/upload/upload.component.html +++ b/web-admin-app/src/app/shared/components/upload/upload.component.html @@ -1,33 +1,51 @@ -@if (drag) { -
    - -
    - -
    {{ placeholder }}
    +@if (!disabled) { + @if (drag) { +
    + +
    + +
    {{ placeholder }}
    +
    -
    -} @else { - + } @else { + + } } @if (preview) { +} @else { + @if (disabled) { + + } } diff --git a/web-admin-app/src/app/shared/components/upload/upload.component.ts b/web-admin-app/src/app/shared/components/upload/upload.component.ts index 7a07711..5296d62 100644 --- a/web-admin-app/src/app/shared/components/upload/upload.component.ts +++ b/web-admin-app/src/app/shared/components/upload/upload.component.ts @@ -4,6 +4,7 @@ import { ApiService } from 'app/services' import { JwResponse } from 'app/types' import { NzButtonModule } from 'ng-zorro-antd/button' import { NzCardModule } from 'ng-zorro-antd/card' +import { NzEmptyModule } from 'ng-zorro-antd/empty' import { NzIconModule } from 'ng-zorro-antd/icon' import { NzMessageService } from 'ng-zorro-antd/message' import { Observable } from 'rxjs' @@ -11,7 +12,7 @@ import { Observable } from 'rxjs' @Component({ selector: 'app-upload', standalone: true, - imports: [NzIconModule, NzButtonModule, NzCardModule], + imports: [NzIconModule, NzButtonModule, NzCardModule, NzEmptyModule], templateUrl: './upload.component.html', styleUrl: './upload.component.less', providers: [ @@ -31,7 +32,9 @@ export class UploadComponent implements ControlValueAccessor { @Input() placeholder = '选择文件' - @Input() uploadFn: (data: FormData) => Observable = this.api.upload + @Input() uploadFn: (data: FormData) => Observable = (d) => { + return this.api.upload(d) + } @Output() onUpload = new EventEmitter() @@ -39,6 +42,8 @@ export class UploadComponent implements ControlValueAccessor { ngOnInit(): void {} + disabled = false + preview: { name: string url: string @@ -72,9 +77,11 @@ export class UploadComponent implements ControlValueAccessor { // this.createForm.get('avatar')?.setValue(res.body.fileName) this.onChange(res.body.fileName ?? file.name) this.onUpload.emit(res.body) - this.preview = { - name: res.body.fileName ?? file.name, - url: res.body.url, + if (!this.isImage(file.name)) { + this.preview = { + name: res.body.fileName ?? file.name, + url: res.body.url, + } } }) } @@ -113,9 +120,14 @@ export class UploadComponent implements ControlValueAccessor { } } + remove() { + this.preview = null + this.onChange(null) + this.onUpload.emit(null) + } onTouched = () => {} - onChange(v: string) { + onChange(v: string | null) { console.log('upload', v) } registerOnChange(fn: any): void { @@ -126,5 +138,7 @@ export class UploadComponent implements ControlValueAccessor { this.onTouched = fn } - setDisabledState?(isDisabled: boolean): void {} + setDisabledState?(isDisabled: boolean): void { + this.disabled = isDisabled + } }