import { Component } from '@angular/core'; import {FormGroup, FormsModule, NonNullableFormBuilder, ReactiveFormsModule} from "@angular/forms"; import {environment} from "../../../../environments/environment"; import {DateSelectType, DateUtils} from "../../../utils/dateUtils.service"; import {NzMessageService} from "ng-zorro-antd/message"; import {OrderGoodsData} from "../../../model/order.interface"; import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid"; import {NzFormDirective, NzFormModule} from "ng-zorro-antd/form"; import {NzTreeSelectComponent} from "ng-zorro-antd/tree-select"; import {NzInputDirective} from "ng-zorro-antd/input"; import {NzOptionComponent, NzSelectComponent} from "ng-zorro-antd/select"; import {NzButtonComponent} from "ng-zorro-antd/button"; import {NzTableComponent, NzTableModule, NzThMeasureDirective} from "ng-zorro-antd/table"; import {NzImageDirective, NzImageModule} from "ng-zorro-antd/image"; import {NzModalModule} from "ng-zorro-antd/modal"; import {DatePipe, NgClass, NgForOf, NgIf} from "@angular/common"; import {GoodsStatusPipe} from "../../../pipes/goods/goods-status.pipe"; import {OrderGoodsStatusPipe} from "../../../pipes/order/order-goods-status.pipe"; import {NzDropDownADirective, NzDropDownDirective, NzDropdownMenuComponent} from "ng-zorro-antd/dropdown"; import {NzMenuDirective, NzMenuItemComponent} from "ng-zorro-antd/menu"; import {NzDescriptionsModule} from "ng-zorro-antd/descriptions"; import {NzPopconfirmDirective} from "ng-zorro-antd/popconfirm"; import {NzDividerComponent} from "ng-zorro-antd/divider"; import {NzTabSetComponent, NzTabsModule} from "ng-zorro-antd/tabs"; import {NzIconDirective} from "ng-zorro-antd/icon"; import {fallbackImg, orderCinemaStatus} from '../../../data/goods/goods.namespace'; import {NzBadgeComponent} from "ng-zorro-antd/badge"; import {AuditStatusPipe} from "../../../pipes/audit/audit-status.pipe"; import {NzSpinComponent} from "ng-zorro-antd/spin"; import {NzTimelineComponent, NzTimelineItemComponent} from "ng-zorro-antd/timeline"; import {NzResultComponent} from "ng-zorro-antd/result"; import {NzDatePickerComponent, NzRangePickerComponent} from "ng-zorro-antd/date-picker"; import {NzRadioButtonDirective, NzRadioComponent, NzRadioGroupComponent} from "ng-zorro-antd/radio"; import {OrderCinemaService} from "../../../services/trade/order-cinema.service"; import {OrderCinemaStatusPipe} from "../../../pipes/goods/order-cinema-status.pipe"; @Component({ selector: 'app-order-cinema', standalone: true, imports: [ NzColDirective, NzRowDirective, NzFormDirective, ReactiveFormsModule, NzTreeSelectComponent, NzInputDirective, NzSelectComponent, NzOptionComponent, NzButtonComponent, NzTableComponent, NzImageModule, NzModalModule, NzTableModule, NzFormModule, NzThMeasureDirective, NgForOf, NzImageDirective, GoodsStatusPipe, DatePipe, OrderGoodsStatusPipe, NzDropdownMenuComponent, NgIf, NzMenuDirective, NzDescriptionsModule, NzMenuItemComponent, NzPopconfirmDirective, NzDividerComponent, NzDropDownADirective, NzDropDownDirective, NzTabsModule, NzIconDirective, NzBadgeComponent, AuditStatusPipe, NzTabSetComponent, FormsModule, NzSpinComponent, NzTimelineItemComponent, NgClass, NzResultComponent, NzTimelineComponent, NzDatePickerComponent, NzRadioButtonDirective, NzRadioComponent, NzRadioGroupComponent, NzRangePickerComponent, OrderCinemaStatusPipe, ], templateUrl: './order-cinema.component.html', styleUrl: './order-cinema.component.less' }) export class OrderCinemaComponent { // 表单页数 tablePageNum = 1; // 表单数据 tableData: any = { total: 0, loading: false, list: [], }; // 搜索表单 searchForm: FormGroup; baseUrl = environment.baseUrl; imageUrl = environment.imageUrl; orderGoodsData: any; orderDetailModal = false; // 时间类型选择 dateTypeSelect = DateSelectType; protected readonly fallbackImg = fallbackImg; protected readonly orderCinemaStatus = orderCinemaStatus; constructor(private fb: NonNullableFormBuilder, private msg: NzMessageService, private orderCinema: OrderCinemaService) { // 初始化搜索框 this.searchForm = this.fb.group({ orderNo: [''], userPhone: [''], goodsSpecsName: [''], createTimeArray: [[]], createTimeSelect: ['1'], createTimeS: [''], createTimeE: [''], goodsName: [''], payType: [''], status: [''], }); this.createTimeInit(); this.getRequest(); } // 查询列表 public getRequest(reset: boolean = false) { if (this.searchForm.controls['createTimeArray'].value != null && this.searchForm.controls['createTimeArray'].value.length > 0) { this.searchForm.controls['createTimeS'].setValue(this.searchForm.controls['createTimeArray'].value[0].getTime()); this.searchForm.controls['createTimeE'].setValue(this.searchForm.controls['createTimeArray'].value[1].getTime()); } else { this.searchForm.controls['createTimeS'].setValue(null) this.searchForm.controls['createTimeE'].setValue(null) } this.tableData.loading = true; if (reset) { this.tablePageNum = 1; } this.searchForm.value.pageNum = this.tablePageNum; this.searchForm.value.pageSize = 10; this.searchForm.value.time = new Date().getTime(); this.orderCinema.getListCinema(this.searchForm.value , (data: any) => { if (data['return_code'] == '000000') { this.tableData = data['return_data']; } else { this.msg.error(data['return_msg']); } this.tableData.loading = false; }); } /** * 创建时间初始化 */ createTimeInit() { let createTimeSelect = this.searchForm.controls['createTimeSelect'].value; if (createTimeSelect != null) { console.log("createTimeSelect", createTimeSelect); let timeObj = DateUtils.getDate(new Date(), Number(createTimeSelect)); this.searchForm.controls['createTimeArray'].setValue([timeObj.timeS, timeObj.timeE]); } } showDetail(data: any): void { this.orderGoodsData = data; this.orderDetailModal = true; } }