diff --git a/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.html b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.html new file mode 100644 index 0000000..3e9f709 --- /dev/null +++ b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.html @@ -0,0 +1,45 @@ + + + + +
+
+
+
+
+ + 职位类型 + + + + + + +
+ +
+ + 员工名称 + + + + +
+ +
+ + 员工电话 + + + + +
+ +
+ +
+ +
+
+
+
diff --git a/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.scss b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.scss new file mode 100644 index 0000000..1be0cf8 --- /dev/null +++ b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.scss @@ -0,0 +1,7 @@ +.btn-div { + width: 100%; + text-align: center; +} +.btn-post { + width: 25%; +} diff --git a/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.spec.ts b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.spec.ts new file mode 100644 index 0000000..7dbde58 --- /dev/null +++ b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { GasStaffEditComponent } from './gas-staff-edit.component'; + +describe('GasStaffEditComponent', () => { + let component: GasStaffEditComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ GasStaffEditComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(GasStaffEditComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.ts b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.ts new file mode 100644 index 0000000..d4abf1f --- /dev/null +++ b/src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.ts @@ -0,0 +1,116 @@ +import { Component, OnInit } from '@angular/core'; +import {FormBuilder, FormGroup, Validators} from '_@angular_forms@9.0.7@@angular/forms'; +import {NzModalService} from '_ng-zorro-antd@9.3.0@ng-zorro-antd'; +import {ActivatedRoute, Router} from '_@angular_router@9.0.7@@angular/router'; +import {GasStaffService} from '../../../services/gas-staff.service'; +import {CommonsService} from "../../../services/commons.service"; +import {ValidatorsService} from "../../../services/validators.service"; + +@Component({ + selector: 'app-gas-staff-edit', + templateUrl: './gas-staff-edit.component.html', + styleUrls: ['./gas-staff-edit.component.scss'] +}) +export class GasStaffEditComponent implements OnInit { + + staffFrom: FormGroup; + btnLoading = false; + + positionTypeArray = []; + + constructor(private formBuilder: FormBuilder, + private modal: NzModalService, + private gasStaffService: GasStaffService, + private activatedRoute: ActivatedRoute, + private commonsService: CommonsService, + private router: Router) { } + + ngOnInit(): void { + this.activatedRoute.queryParams.subscribe(queryParams => { + if (queryParams['id'] != null) { + this.getDetail(queryParams['id']); + } + }); + + this.commonsService.getDictionary('GAS_STAFF_POSITION_TYPE', data => { + this.positionTypeArray = data['return_data']; + }); + + this.staffFrom = this.formBuilder.group({ + id: [null], + positionType: ['1', [Validators.required]], + name: [null, [Validators.required]], + telephone: [null, [Validators.required, ValidatorsService.mobile]], + }); + } + + /** + * 查询详情 + * @param id + */ + getDetail(id: number) { + this.gasStaffService.getStaffDetail(id, data => { + if (data['return_code'] === '000000') { + data['return_data']['positionType'] = String(data['return_data']['positionType']); + this.staffFrom.patchValue(data['return_data']); + } else { + this.modal.error({ + nzTitle: '提示', + nzContent: data['return_msg'], + }); + } + }); + } + + /** + * 提交 + */ + submitFrom() { + for (const i in this.staffFrom.controls) { + this.staffFrom.controls[i].markAsDirty(); + this.staffFrom.controls[i].updateValueAndValidity(); + } + if (this.staffFrom.status == null || this.staffFrom.status !== 'VALID') { + this.modal.warning({ + nzTitle: '提示', + nzContent: '请规范填写所有的必填项信息', + }); + return; + } + + this.btnLoading = true; + if (this.staffFrom.value.id == null) { + this.gasStaffService.addStaff(this.staffFrom.value, data => { + if (data['return_code'] === '000000') { + this.modal.success({ + nzTitle: '提示', + nzContent: '添加成功', + nzOnOk: () => this.router.navigateByUrl('admin/gas-staff/list') + }); + } else { + this.modal.error({ + nzTitle: '提示', + nzContent: data['return_msg'], + }); + } + this.btnLoading = false; + }); + } else { + this.gasStaffService.updateStaff(this.staffFrom.value, data => { + if (data['return_code'] === '000000') { + this.modal.success({ + nzTitle: '提示', + nzContent: '修改成功', + nzOnOk: () => this.router.navigateByUrl('admin/gas-staff/list') + }); + } else { + this.modal.error({ + nzTitle: '提示', + nzContent: data['return_msg'], + }); + } + this.btnLoading = false; + }); + } + } +} diff --git a/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.html b/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.html new file mode 100644 index 0000000..d3abb7f --- /dev/null +++ b/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.html @@ -0,0 +1,116 @@ + + + + + + +
+
+
+ +
+ + 职位类型 + + + + + + +
+ +
+ + 员工名称 + + + + +
+ +
+ + 员工电话 + + + + +
+ +
+ + 员工状态 + + + + + + + +
+ + +
+ +
+
+ + +
+
+
+
+ +
+ 共计 {{dataObject.total?dataObject.total:0}} 条数据 +
+ +
+ + + + + + 序号 + 职位类型 + 员工名称 + 员工电话 + 员工状态 + 创建时间 + 修改时间 + 操作 + + + + + {{i+1}} + {{data.positionName}} + {{data.name}} + {{data.telephone}} + {{data.status | gasStaffStatus}} + {{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}} + {{data.updateTime | date : 'yyyy-MM-dd HH:mm:ss'}} + + 操作列表 + + + + + + + +
+
+ diff --git a/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.scss b/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.spec.ts b/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.spec.ts new file mode 100644 index 0000000..f392a96 --- /dev/null +++ b/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { GasStaffListComponent } from './gas-staff-list.component'; + +describe('GasStaffListComponent', () => { + let component: GasStaffListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ GasStaffListComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(GasStaffListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.ts b/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.ts new file mode 100644 index 0000000..8a259c7 --- /dev/null +++ b/src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.ts @@ -0,0 +1,184 @@ +import { Component, OnInit } from '@angular/core'; +import {environment} from '../../../../environments/environment'; +import {FormBuilder, FormGroup, Validators} from '_@angular_forms@9.0.7@@angular/forms'; +import {NzMessageService, NzModalService} from '_ng-zorro-antd@9.3.0@ng-zorro-antd'; +import {LocalStorageService} from '../../../services/local-storage.service'; +import {OrganizationService} from '../../../services/organization.service'; +import {CompanyAccountService} from '../../../services/company-account.service'; +import {Router} from '_@angular_router@9.0.7@@angular/router'; +import {ADMIN_INFO_OBJECT} from '../../../services/local-storage.namespace'; +import {GasStaffService} from '../../../services/gas-staff.service'; +import {CommonsService} from "../../../services/commons.service"; + +@Component({ + selector: 'app-gas-staff-list', + templateUrl: './gas-staff-list.component.html', + styleUrls: ['./gas-staff-list.component.scss'] +}) +export class GasStaffListComponent implements OnInit { + FILE_URL = environment.imageUrl; + roleType; + adminFlag; + loadingObject = { + spinning: false, + msg: '加载中' + }; + + dataObject: any = {}; + tableLoading = true; + searchForm: FormGroup; + pageNum: number; + whereObject: any = {}; + + positionTypeArray = []; + + constructor(private modal: NzModalService, + private message: NzMessageService, + private store: LocalStorageService, + private gasStaffService: GasStaffService, + private commonsService: CommonsService, + private router: Router, + private form: FormBuilder) { + this.roleType = Number(this.store.get(ADMIN_INFO_OBJECT)['secRole'].roleType); + this.adminFlag = Number(this.store.get(ADMIN_INFO_OBJECT)['secUser'].adminFlag); + } + + ngOnInit(): void { + this.searchForm = this.form.group({ + name: [null], + telephone: [null], + positionType: [null], + status: [null], + }); + + this.commonsService.getDictionary('GAS_STAFF_POSITION_TYPE', data => { + this.positionTypeArray = data['return_data']; + }); + + this.requestData(1); + } + + /** + * 请求数据 + */ + requestData(pageNum) { + this.tableLoading = true; + this.whereObject['pageNum'] = pageNum; + this.whereObject['pageSize'] = 10; + this.gasStaffService.getStaffList(this.whereObject, data => { + if (data['return_code'] === '000000') { + this.dataObject = data['return_data']; + } else { + this.modal.error(data['return_msg']); + } + this.tableLoading = false; + }); + } + + /** + * 搜索 + * @param whereObject 条件 + */ + search(whereObject: object) { + this.whereObject = whereObject; + this.requestData(1); + } + + /** + * 重置 + */ + resetForm(): void { + this.searchForm.reset(); + } + + /** + * 弹出删除对话框 + */ + showDisabledConfirm(id: number): void { + this.modal.confirm({ + nzTitle: '警告', + nzContent: '是否禁用该员工', + nzOkText: '是', + nzCancelText: '否', + nzOkType: 'danger', + nzOnOk: () => this.disabledData(id) + }); + } + + /** + * 禁用数据 + */ + disabledData(id: number) { + this.gasStaffService.disabled({ staffId: id }, data => { + if (data['return_code'] === '000000') { + this.requestData(this.whereObject['pageNum']); + } else { + this.modal.error({ + nzTitle: '提示', + nzContent: data['return_msg'] + }); + } + }); + } + + /** + * 弹出恢复对话框 + */ + showRecoverConfirm(id: number): void { + this.modal.confirm({ + nzTitle: '警告', + nzContent: '是否恢复该员工状态', + nzOkText: '是', + nzCancelText: '否', + nzOkType: 'danger', + nzOnOk: () => this.recoverData(id) + }); + } + + /** + * 恢复数据 + */ + recoverData(id: number) { + this.gasStaffService.recover({ staffId: id }, data => { + if (data['return_code'] === '000000') { + this.requestData(this.whereObject['pageNum']); + } else { + this.modal.error({ + nzTitle: '提示', + nzContent: data['return_msg'] + }); + } + }); + } + + /** + * 弹出删除对话框 + */ + showDelConfirm(id: number): void { + this.modal.confirm({ + nzTitle: '警告', + nzContent: '是否删除该员工', + nzOkText: '是', + nzCancelText: '否', + nzOkType: 'danger', + nzOnOk: () => this.delData(id) + }); + } + + /** + * 删除数据 + */ + delData(id: number) { + this.gasStaffService.delStaff({ staffId: id }, data => { + if (data['return_code'] === '000000') { + this.requestData(this.whereObject['pageNum']); + } else { + this.modal.error({ + nzTitle: '提示', + nzContent: data['return_msg'] + }); + } + }); + } + +} diff --git a/src/app/admin/gas-staff/gas-staff-routing.module.ts b/src/app/admin/gas-staff/gas-staff-routing.module.ts new file mode 100644 index 0000000..2c12d73 --- /dev/null +++ b/src/app/admin/gas-staff/gas-staff-routing.module.ts @@ -0,0 +1,15 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import {GasStaffListComponent} from './gas-staff-list/gas-staff-list.component'; +import {GasStaffEditComponent} from './gas-staff-edit/gas-staff-edit.component'; + +const routes: Routes = [ + { path: 'list', component: GasStaffListComponent}, + { path: 'edit', component: GasStaffEditComponent}, +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class GasStaffRoutingModule { } diff --git a/src/app/admin/gas-staff/gas-staff.module.ts b/src/app/admin/gas-staff/gas-staff.module.ts new file mode 100644 index 0000000..2304dc2 --- /dev/null +++ b/src/app/admin/gas-staff/gas-staff.module.ts @@ -0,0 +1,27 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { GasStaffRoutingModule } from './gas-staff-routing.module'; +import { GasStaffListComponent } from './gas-staff-list/gas-staff-list.component'; +import { GasStaffEditComponent } from './gas-staff-edit/gas-staff-edit.component'; +import {NgZorroAntdModule} from '_ng-zorro-antd@9.3.0@ng-zorro-antd'; +import {FormsModule, ReactiveFormsModule} from '_@angular_forms@9.0.7@@angular/forms'; +import {BreadcrumbModule} from '../../common/breadcrumb/breadcrumb.module'; +import {AppCommonModule} from '../../app-common.module'; +import {NgxEchartsModule} from '_ngx-echarts@4.2.2@ngx-echarts'; + + +@NgModule({ + declarations: [GasStaffListComponent, GasStaffEditComponent], + imports: [ + CommonModule, + GasStaffRoutingModule, + NgZorroAntdModule, + ReactiveFormsModule, + FormsModule, + BreadcrumbModule, + AppCommonModule, + NgxEchartsModule, + ] +}) +export class GasStaffModule { } diff --git a/src/app/admin/index/index/index.component.html b/src/app/admin/index/index/index.component.html index 4618094..5734a56 100644 --- a/src/app/admin/index/index/index.component.html +++ b/src/app/admin/index/index/index.component.html @@ -196,15 +196,18 @@ - + - 编号 - 类型 - 交易金额 - 变更前金额 - 变更后金额 + 编号 + 类型 + 交易金额 + 变更前金额 + 变更后金额 + 来源类型 内容 + 操作时间 + 操作人 @@ -214,7 +217,13 @@ {{'¥' + data.amount}} {{'¥' + data.beforeAmount}} {{'¥' + data.afterAmount}} + + 金额充值 + 订单消费 + 订单退款 {{data.sourceContent}} + {{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}} + {{data.opUserName}} diff --git a/src/app/app-common.module.ts b/src/app/app-common.module.ts index 43159ee..06874e4 100644 --- a/src/app/app-common.module.ts +++ b/src/app/app-common.module.ts @@ -43,8 +43,9 @@ import { OilCardBindStatusPipe, OilCardRecordTypePipe, OilCardRecordSourceTypePipe } from './pipes'; -import {OilCardStatusPipe} from "./pipes/oil-card/oil-card-status.pipe"; +import {OilCardStatusPipe} from './pipes/oil-card/oil-card-status.pipe'; import { OilTypePipe } from './pipes/store/oil-type.pipe'; +import {GasStaffStatusPipe} from './pipes/gas-staff/gas-staff-status.pipe'; @@ -86,6 +87,7 @@ const PIPES = [ OilCardBindStatusPipe, OilCardRecordTypePipe, OilCardRecordSourceTypePipe, + GasStaffStatusPipe, ]; diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 74cf71a..4bf8856 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -117,6 +117,11 @@ const routes: Routes = [ loadChildren: () => import('./admin/gz-sinopec/gz-sinopec.module').then(m => m.GzSinopecModule), canActivate: [InitGuardService] }, + { + path: 'gas-staff', + loadChildren: () => import('./admin/gas-staff/gas-staff.module').then(m => m.GasStaffModule), + canActivate: [InitGuardService] + }, ], }, ]; diff --git a/src/app/pipes/gas-staff/gas-staff-status.pipe.ts b/src/app/pipes/gas-staff/gas-staff-status.pipe.ts new file mode 100644 index 0000000..dd58646 --- /dev/null +++ b/src/app/pipes/gas-staff/gas-staff-status.pipe.ts @@ -0,0 +1,19 @@ +import { Pipe, PipeTransform } from '@angular/core'; + +@Pipe({ + name: 'gasStaffStatus' +}) +export class GasStaffStatusPipe implements PipeTransform { + + transform(value: number): string { + switch (value) { + case 0: + return '删除'; + case 1: + return '正常'; + case 2: + return '已禁用'; + } + } + +} diff --git a/src/app/pipes/index.ts b/src/app/pipes/index.ts index 7481d5f..42f638d 100644 --- a/src/app/pipes/index.ts +++ b/src/app/pipes/index.ts @@ -32,3 +32,4 @@ export * from './oil-card/oil-card-status.pipe'; export * from './oil-card/oil-card-bind-status.pipe'; export * from './oil-card/oil-card-record-type.pipe'; export * from './oil-card/oil-card-record-source-type.pipe'; +export * from './gas-staff/gas-staff-status.pipe'; diff --git a/src/app/services/gas-staff.service.ts b/src/app/services/gas-staff.service.ts new file mode 100644 index 0000000..6b38116 --- /dev/null +++ b/src/app/services/gas-staff.service.ts @@ -0,0 +1,99 @@ +import { Injectable } from '@angular/core'; +import {HttpClient} from '_@angular_common@9.0.7@@angular/common/http'; +import {CommonsService} from './commons.service'; +import {environment} from '../../environments/environment'; + +@Injectable({ + providedIn: 'root' +}) +export class GasStaffService { + + constructor( + private http: HttpClient, + private common: CommonsService + ) { } + + /** + * 禁用油品 + * + * @param param 参数对象 + * @param callBack 回调 + */ + public addStaff(param: object, callBack) { + this.http.post(environment.baseUrl + 'gasStaff/addGasStaff', param).subscribe(data => { + callBack(data); + }); + } + + /** + * 禁用油品 + * + * @param param 参数对象 + * @param callBack 回调 + */ + public updateStaff(param: object, callBack) { + this.http.post(environment.baseUrl + 'gasStaff/updateGasStaff', param).subscribe(data => { + callBack(data); + }); + } + + /** + * 禁用 + * + * @param param 参数对象 + * @param callBack 回调 + */ + public disabled(param: object, callBack) { + this.http.post(environment.baseUrl + 'gasStaff/disabled', param).subscribe(data => { + callBack(data); + }); + } + + /** + * 恢复 + * + * @param param 参数对象 + * @param callBack 回调 + */ + public recover(param: object, callBack) { + this.http.post(environment.baseUrl + 'gasStaff/recover', param).subscribe(data => { + callBack(data); + }); + } + + /** + * 删除 + * + * @param param 参数对象 + * @param callBack 回调 + */ + public delStaff(param: object, callBack) { + this.http.post(environment.baseUrl + 'gasStaff/delStaff', param).subscribe(data => { + callBack(data); + }); + } + + /** + * 禁用油品 + * + * @param param 参数对象 + * @param callBack 回调 + */ + public getStaffDetail(staffId: number, callBack) { + this.http.get(environment.baseUrl + 'gasStaff/getStaffDetail?staffId=' + staffId).subscribe(data => { + callBack(data); + }); + } + + /** + * 禁用油品 + * + * @param param 参数对象 + * @param callBack 回调 + */ + public getStaffList(param: object, callBack) { + this.http.get(environment.baseUrl + 'gasStaff/getStaffList?' + this.common.getWhereCondition(param)).subscribe(data => { + callBack(data); + }); + } +} diff --git a/src/environments/environment.ts b/src/environments/environment.ts index ca22a39..0f97376 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -4,10 +4,10 @@ export const environment = { production: false, -/* baseUrl: 'http://localhost:9302/brest/', // 测试环境服务器地址(请求数据地址) - imageUrl: 'http://localhost:9302/filesystem/',*/ - baseUrl: 'https://hsgcs.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址) - imageUrl: 'https://hsgcs.dctpay.com/filesystem/', + baseUrl: 'http://localhost:9302/brest/', // 测试环境服务器地址(请求数据地址) + imageUrl: 'http://localhost:9302/filesystem/', +/* baseUrl: 'https://hsgcs.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址) + imageUrl: 'https://hsgcs.dctpay.com/filesystem/',*/ key: 'https://hsgcs.dctpay.com/phone-recharge-H5/index.html?codeValue=', inviteUrl: 'https://hsgcs.dctpay.com/wx/?action=ic&id=', };