提交代码

pull/1/head
胡锐 2 years ago
parent af8def6a3c
commit ab505d03de
  1. 45
      src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.html
  2. 7
      src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.scss
  3. 25
      src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.spec.ts
  4. 116
      src/app/admin/gas-staff/gas-staff-edit/gas-staff-edit.component.ts
  5. 116
      src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.html
  6. 0
      src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.scss
  7. 25
      src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.spec.ts
  8. 184
      src/app/admin/gas-staff/gas-staff-list/gas-staff-list.component.ts
  9. 15
      src/app/admin/gas-staff/gas-staff-routing.module.ts
  10. 27
      src/app/admin/gas-staff/gas-staff.module.ts
  11. 21
      src/app/admin/index/index/index.component.html
  12. 4
      src/app/app-common.module.ts
  13. 5
      src/app/app-routing.module.ts
  14. 19
      src/app/pipes/gas-staff/gas-staff-status.pipe.ts
  15. 1
      src/app/pipes/index.ts
  16. 99
      src/app/services/gas-staff.service.ts
  17. 8
      src/environments/environment.ts

@ -0,0 +1,45 @@
<!-- start 面包屑 -->
<app-breadcrumb></app-breadcrumb>
<!-- end 面包屑 -->
<div class="inner-content">
<div class="main">
<form nz-form [formGroup]="staffFrom">
<div nz-row>
<div nz-col class="gutter-row" [nzSpan]="24">
<nz-form-item>
<nz-form-label [nzSpan]="8" nzRequired>职位类型</nz-form-label>
<nz-form-control [nzSpan]="8">
<nz-select nzAllowClear formControlName="positionType">
<nz-option *ngFor="let item of positionTypeArray" nzLabel="{{item.codeName}}" nzValue="{{item.codeValue}}"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col class="gutter-row" [nzSpan]="24">
<nz-form-item>
<nz-form-label [nzSpan]="8" nzRequired>员工名称</nz-form-label>
<nz-form-control [nzSpan]="8">
<input nz-input type="text" formControlName="name" placeholder="请输入员工名称" />
</nz-form-control>
</nz-form-item>
</div>
<div nz-col class="gutter-row" [nzSpan]="24">
<nz-form-item>
<nz-form-label [nzSpan]="8" nzRequired>员工电话</nz-form-label>
<nz-form-control [nzSpan]="8">
<input nz-input type="text" formControlName="telephone" [maxLength]="11" placeholder="请输入员工电话" />
</nz-form-control>
</nz-form-item>
</div>
</div>
<div class="btn-div">
<button class="btn-post" nz-button nzType="primary" (click)="submitFrom()" [nzLoading]="btnLoading" nzBlock>保存</button>
</div>
</form>
</div>
</div>

@ -0,0 +1,7 @@
.btn-div {
width: 100%;
text-align: center;
}
.btn-post {
width: 25%;
}

@ -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<GasStaffEditComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ GasStaffEditComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(GasStaffEditComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

@ -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;
});
}
}
}

@ -0,0 +1,116 @@
<!-- start 面包屑 -->
<app-breadcrumb></app-breadcrumb>
<!-- end 面包屑 -->
<!--条件搜索-->
<nz-spin [nzSpinning]="loadingObject.spinning" nzTip="{{loadingObject.msg}}">
<div class="inner-content">
<form nz-form [formGroup]="searchForm" (ngSubmit)="search(searchForm.value)">
<div nz-row>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">职位类型</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-select nzAllowClear formControlName="positionType">
<nz-option *ngFor="let item of positionTypeArray" nzLabel="{{item.codeName}}" nzValue="{{item.codeValue}}"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">员工名称</nz-form-label>
<nz-form-control [nzSpan]="14">
<input nz-input formControlName="name" />
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">员工电话</nz-form-label>
<nz-form-control [nzSpan]="14">
<input nz-input formControlName="telephone" />
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">员工状态</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-select nzAllowClear formControlName="status">
<nz-option nzValue="1" nzLabel="正常"></nz-option>
<nz-option nzValue="2" nzLabel="禁用"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
</div>
<div nz-row>
<div nz-col nzSpan="24" class="search-button">
<button nz-button nzType="primary"><i nz-icon nzType="search" nzTheme="outline"></i>搜索</button>
<button nz-button nzType="default" (click)="resetForm()"><i nz-icon nzType="reload" nzTheme="outline"></i>重置</button>
</div>
</div>
</form>
</div>
<div class="inner-content">
<span>共计 {{dataObject.total?dataObject.total:0}} 条数据</span>
<div class="operating-button">
<button nz-button nzType="primary" class="right-btn" [routerLink]="['/admin/gas-staff/edit']" ><i nz-icon nzType="plus" nzTheme="outline"></i>增加员工</button>
</div>
<!--数组表格 -->
<nz-table #basicTable
[nzData]="dataObject.list"
[nzTotal]="dataObject.total"
[nzFrontPagination]="false"
[nzLoading]="tableLoading"
[nzPageIndex]="whereObject.pageNum"
(nzPageIndexChange)="requestData($event)"
[nzScroll]="{ x: '1100px'}">
<thead>
<tr>
<th nzWidth="60px">序号</th>
<th nzWidth="100px">职位类型</th>
<th nzWidth="100px">员工名称</th>
<th nzWidth="100px">员工电话</th>
<th nzWidth="100px">员工状态</th>
<th nzWidth="140px">创建时间</th>
<th nzWidth="140px">修改时间</th>
<th nzWidth="110px" nzRight="0px">操作</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of basicTable.data;let i = index">
<td>{{i+1}}</td>
<td>{{data.positionName}}</td>
<td>{{data.name}}</td>
<td>{{data.telephone}}</td>
<td>{{data.status | gasStaffStatus}}</td>
<td>{{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
<td>{{data.updateTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
<td nzRight="0px" class="table-td-operation">
<a nz-dropdown [nzDropdownMenu]="menu"> 操作列表 <i nz-icon nzType="down"></i> </a>
<nz-dropdown-menu #menu="nzDropdownMenu">
<ul nz-menu nzSelectable>
<li nz-menu-item [routerLink]="['/admin/gas-staff/edit']" [queryParams]="{ id: data.id}"><a>修改</a></li>
<li nz-menu-item (click)="showDisabledConfirm(data.id)" *ngIf="data.status == 1" ><a>禁用</a></li>
<li nz-menu-item (click)="showRecoverConfirm(data.id)" *ngIf="data.status == 2" ><a>恢复</a></li>
<li nz-menu-item (click)="showDelConfirm(data.id)"><a>删除</a></li>
</ul>
</nz-dropdown-menu>
</td>
</tr>
</tbody>
</nz-table>
</div>
</nz-spin>

@ -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<GasStaffListComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ GasStaffListComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(GasStaffListComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

@ -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']
});
}
});
}
}

@ -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 { }

@ -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 { }

@ -196,15 +196,18 @@
</nz-modal>
<nz-modal [(nzVisible)]="isVisibleOil" nzWidth="900" nzTitle="预充值账户记录" [nzBodyStyle]="{ padding: '15px', height: '600px'}" (nzOnCancel)="isVisibleOil = false" [nzFooter]="null">
<nz-table #RecordList [nzData]="recordList" [nzScroll]="{ y: '470px', x : '900px' }">
<nz-table #RecordList [nzData]="recordList" [nzScroll]="{ y: '450px', x : '900px' }">
<thead>
<tr>
<th nzWidth="50px">编号</th>
<th nzWidth="50px">类型</th>
<th nzWidth="80px">交易金额</th>
<th nzWidth="80px">变更前金额</th>
<th nzWidth="80px">变更后金额</th>
<th nzWidth="80px">编号</th>
<th nzWidth="80px">类型</th>
<th nzWidth="100px">交易金额</th>
<th nzWidth="110px">变更前金额</th>
<th nzWidth="110px">变更后金额</th>
<th nzWidth="110px">来源类型</th>
<th nzWidth="300px">内容</th>
<th nzWidth="130px">操作时间</th>
<th nzWidth="150px">操作人</th>
</tr>
</thead>
<tbody>
@ -214,7 +217,13 @@
<td>{{'¥' + data.amount}}</td>
<td>{{'¥' + data.beforeAmount}}</td>
<td>{{'¥' + data.afterAmount}}</td>
<td>
<span *ngIf="data.sourceType == 1">金额充值</span>
<span *ngIf="data.sourceType == 2">订单消费</span>
<span *ngIf="data.sourceType == 3">订单退款</span>
<td>{{data.sourceContent}}</td>
<td>{{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
<td>{{data.opUserName}}</td>
</tr>
</tbody>
</nz-table>

@ -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,
];

@ -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]
},
],
},
];

@ -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 '已禁用';
}
}
}

@ -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';

@ -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);
});
}
}

@ -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=',
};

Loading…
Cancel
Save