From a0e126f447ebc75220977d236898401d7d4b9e81 Mon Sep 17 00:00:00 2001 From: Sum1Dream <418471657@qq.com> Date: Mon, 16 May 2022 11:05:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E8=AF=9D=E8=B4=B9=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/admin/login/login/login.component.ts | 10 +- .../admin/navigation/navigation.component.ts | 316 ++++---- .../price-list/price-list.component.html | 211 +++--- .../price-list/price-list.component.ts | 70 +- src/app/pipes/recharge-price.pipe.ts | 6 +- src/app/services/commons.service.ts | 680 +++++++++--------- src/app/services/local-storage.namespace.ts | 1 + 7 files changed, 691 insertions(+), 603 deletions(-) diff --git a/src/app/admin/login/login/login.component.ts b/src/app/admin/login/login/login.component.ts index b1847ef..333777c 100644 --- a/src/app/admin/login/login/login.component.ts +++ b/src/app/admin/login/login/login.component.ts @@ -1,12 +1,13 @@ import {Component, OnInit} from '@angular/core'; import {FormGroup, Validators, FormBuilder} from '@angular/forms'; import {LoginService} from '../../../services/login.service'; -import {NzModalService} from 'ng-zorro-antd'; +import {NzMessageService, NzModalService} from 'ng-zorro-antd'; import {ADMIN_INFO_OBJECT, TOKEN, INIT_FLAG, LOGINTYPE} from '../../../services/local-storage.namespace'; import {LocalStorageService} from '../../../services/local-storage.service'; import {Router} from '@angular/router'; import {HttpClient} from '@angular/common/http'; + @Component({ selector: 'app-login', templateUrl: './login.component.html', @@ -21,6 +22,7 @@ export class LoginComponent implements OnInit { private form: FormBuilder, // 表单校验 private http: HttpClient, // http请求 private loginService: LoginService, + private message: NzMessageService, private modal: NzModalService) { } @@ -55,11 +57,9 @@ export class LoginComponent implements OnInit { this.store.set(LOGINTYPE, data['return_data']['type']); this.router.navigateByUrl('/admin/index').then(); } else { - this.modal.warning({ - nzTitle: '提示', - nzContent: data['return_msg'] - }); + this.message.error(data['return_msg']); } }); + } } diff --git a/src/app/admin/navigation/navigation.component.ts b/src/app/admin/navigation/navigation.component.ts index e583df5..9f1fd32 100644 --- a/src/app/admin/navigation/navigation.component.ts +++ b/src/app/admin/navigation/navigation.component.ts @@ -1,6 +1,14 @@ -import { Component, OnInit } from '@angular/core'; +import {Component, OnInit} from '@angular/core'; import {LocalStorageService} from '../../services/local-storage.service'; -import {DATA, ROUTENAME, MENUNAME, CHILDMENUNAME, INIT_FLAG, ADMIN_INFO_OBJECT, TOKEN} from '../../services/local-storage.namespace'; +import { + DATA, + ROUTENAME, + MENUNAME, + CHILDMENUNAME, + INIT_FLAG, + ADMIN_INFO_OBJECT, + TOKEN +} from '../../services/local-storage.namespace'; import {LoginService} from '../../services/login.service'; import {NzMessageService, NzModalService} from 'ng-zorro-antd'; import {Router} from '@angular/router'; @@ -14,162 +22,172 @@ import {HttpClient} from '@angular/common/http'; import {CompanyTwoPwdService} from '../../services/company-two-pwd.service'; @Component({ - selector: 'app-navigation', - templateUrl: './navigation.component.html', - styleUrls: ['./navigation.component.less'] + selector: 'app-navigation', + templateUrl: './navigation.component.html', + styleUrls: ['./navigation.component.less'] }) export class NavigationComponent implements OnInit { - visibleUpdatePwd = false; // 修改密码抽屉 - validateForm: FormGroup; // 定义表单 - passwordVisible = false; - - isCollapsed = false; - userInfo: any; - menuList: any; - routeName: string; - switchValue = false; - constructor( - private storage: LocalStorageService, - private loginService: LoginService, - private message: NzMessageService, - private commonsService: CommonsService, - private companyTwoPwdService: CompanyTwoPwdService, - private http: HttpClient, // http请求 - private iconService: IconService, - private modal: NzModalService, - private fb: FormBuilder, // 表单 - private router: Router, - ) { } - - ngOnInit(): void { - this.validateForm = this.fb.group({ - oldPassword: [null, [Validators.required, ValidatorsService.minLength(6), ValidatorsService.maxLength(16)]], - newPassword: [null, [Validators.required, ValidatorsService.minLength(6), ValidatorsService.maxLength(16)]], - checkNewPassword: [null, [Validators.required, this.checkPwd]], - }); - - this.routeName = this.storage.get(ROUTENAME) == null ? 'index' : this.storage.get(ROUTENAME); - this.userInfo = this.storage.getList(ADMIN_INFO_OBJECT); - this.commonsService.mappingSysNameOl('RECHARGE', data => { - this.switchValue = data['return_data']['codeValue'] === '1'; - }); - this.menuList = this.storage.getList(ADMIN_INFO_OBJECT)['menuList']; // 定义菜单数据 - } - - public activeLi(routeName): void { - this.routeName = routeName; - this.storage.set(ROUTENAME, routeName); - } - - // 菜单姓名 - public getRouteName(menuName , childMenuName): void { - this.storage.set(MENUNAME, menuName); - this.storage.set(CHILDMENUNAME, childMenuName); - } - - // 登出 - public loginOut(): void { - this.loginService.loginOut(data => { - if (data.return_code === '000000') { - this.storage.set(ADMIN_INFO_OBJECT, null); - this.storage.set(INIT_FLAG, false); - this.storage.set(TOKEN, null); - this.router.navigateByUrl('/adminLogin').then(); - } else { - this.message.warning(data.return_msg); - } - }); - } - - // 返回 - public getBack(): void { - history.back(); - } - - clickSwitch(): void { - this.switchValue = !this.switchValue; - this.commonsService.updateDictionary('RECHARGE' , this.switchValue === true ? '1' : '0' , data => { - if (data['return_code'] === '000000') { - this.message.success(data['return_data']); - } else { - this.message.error(data['return_msg']); - } - }); - } - - // 打开抽屉 - openUpdatePwd(): void { - this.visibleUpdatePwd = true; - } - - // 关闭抽屉 - closeUser(): void { - this.visibleUpdatePwd = false; - } - - // 提交表单 - submitForm(value): void { - // 表单验证 - // tslint:disable-next-line:forin - for (const i in this.validateForm.controls) { - this.validateForm.controls[i].markAsDirty(); - this.validateForm.controls[i].updateValueAndValidity(); + visibleUpdatePwd = false; // 修改密码抽屉 + validateForm: FormGroup; // 定义表单 + passwordVisible = false; + + isCollapsed = false; + userInfo: any; + menuList: any; + routeName: string; + switchValue = false; + + constructor( + private storage: LocalStorageService, + private loginService: LoginService, + private message: NzMessageService, + private commonsService: CommonsService, + private companyTwoPwdService: CompanyTwoPwdService, + private http: HttpClient, // http请求 + private iconService: IconService, + private modal: NzModalService, + private common: CommonsService, + private fb: FormBuilder, // 表单 + private router: Router, + ) { } - if (this.validateForm.status == null || this.validateForm.status !== 'VALID') { - this.modal.info({ - nzTitle: '提示', - nzContent: '请正确填写必填信息', - }); - return; + + ngOnInit(): void { + this.validateForm = this.fb.group({ + oldPassword: [null, [Validators.required, ValidatorsService.minLength(6), ValidatorsService.maxLength(16)]], + newPassword: [null, [Validators.required, ValidatorsService.minLength(6), ValidatorsService.maxLength(16)]], + checkNewPassword: [null, [Validators.required, this.checkPwd]], + }); + + this.routeName = this.storage.get(ROUTENAME) == null ? 'index' : this.storage.get(ROUTENAME); + this.userInfo = this.storage.getList(ADMIN_INFO_OBJECT); + this.commonsService.mappingSysNameOl('RECHARGE', data => { + this.switchValue = data['return_data']['codeValue'] === '1'; + }); + this.menuList = this.storage.getList(ADMIN_INFO_OBJECT)['menuList']; // 定义菜单数据 + this.common.getDictionaries(data => { + if (data['return_code'] === '000000') { + console.log(data); + } else { + this.message.error(data['return_msg']); + } + }); + } + + + public activeLi(routeName): void { + this.routeName = routeName; + this.storage.set(ROUTENAME, routeName); + } + + // 菜单姓名 + public getRouteName(menuName, childMenuName): void { + this.storage.set(MENUNAME, menuName); + this.storage.set(CHILDMENUNAME, childMenuName); } - const timeNum = new Date().getTime(); - const signStr = 'userId=' + this.storage.get(ADMIN_INFO_OBJECT)['secUser'].id + '&newPassword=' + value.newPassword + '&nonceStr=' + timeNum; - // 定义请求数据 - const params = { - userId: this.storage.get(ADMIN_INFO_OBJECT)['secUser'].id, - oldPassword: value.oldPassword, - newPassword: value.newPassword, - nonceStr: timeNum, - sign: String(Md5.hashStr(signStr)).toLocaleUpperCase(), - }; - this.http.post(environment.baseUrl + '/secUser/sendUserPass', params).subscribe(data => { - if (data['return_code'] === '000000') { - this.modal.success({ - nzTitle: '提示', - nzContent: '密码修改成功', - nzOkText: '重新登录', - nzOkType: 'primary', - nzOnOk: () => this.loginOut() + + // 登出 + public loginOut(): void { + this.loginService.loginOut(data => { + if (data.return_code === '000000') { + this.storage.set(ADMIN_INFO_OBJECT, null); + this.storage.set(INIT_FLAG, false); + this.storage.set(TOKEN, null); + this.router.navigateByUrl('/adminLogin').then(); + } else { + this.message.warning(data.return_msg); + } }); - } else { - this.modal.warning({ - nzTitle: '提示', - nzContent: data['return_msg'], - nzOkText: '取消', - nzOkType: 'primary', + } + + // 返回 + public getBack(): void { + history.back(); + } + + clickSwitch(): void { + this.switchValue = !this.switchValue; + this.commonsService.updateDictionary('RECHARGE', this.switchValue === true ? '1' : '0', data => { + if (data['return_code'] === '000000') { + this.message.success(data['return_data']); + } else { + this.message.error(data['return_msg']); + } }); - } - setTimeout(() => { - }, 1000); - }, error => { - this.message.create('error', `未知错误!`); - }); - } - - /** - * 新密码校验两次密码是否一致 - * @param control - */ - checkPwd = (control: FormControl): { [s: string]: boolean } => { - if (!control.value) { - return { required: true }; - } else if (control.value !== this.validateForm.controls.newPassword.value) { - return { confirm: true, error: true }; } - return {}; - } + // 打开抽屉 + openUpdatePwd(): void { + this.visibleUpdatePwd = true; + } + + // 关闭抽屉 + closeUser(): void { + this.visibleUpdatePwd = false; + } + + // 提交表单 + submitForm(value): void { + // 表单验证 + // tslint:disable-next-line:forin + for (const i in this.validateForm.controls) { + this.validateForm.controls[i].markAsDirty(); + this.validateForm.controls[i].updateValueAndValidity(); + } + if (this.validateForm.status == null || this.validateForm.status !== 'VALID') { + this.modal.info({ + nzTitle: '提示', + nzContent: '请正确填写必填信息', + }); + return; + } + const timeNum = new Date().getTime(); + const signStr = 'userId=' + this.storage.get(ADMIN_INFO_OBJECT)['secUser'].id + '&newPassword=' + value.newPassword + '&nonceStr=' + timeNum; + // 定义请求数据 + const params = { + userId: this.storage.get(ADMIN_INFO_OBJECT)['secUser'].id, + oldPassword: value.oldPassword, + newPassword: value.newPassword, + nonceStr: timeNum, + sign: String(Md5.hashStr(signStr)).toLocaleUpperCase(), + }; + this.http.post(environment.baseUrl + '/secUser/sendUserPass', params).subscribe(data => { + if (data['return_code'] === '000000') { + this.modal.success({ + nzTitle: '提示', + nzContent: '密码修改成功', + nzOkText: '重新登录', + nzOkType: 'primary', + nzOnOk: () => this.loginOut() + }); + } else { + this.modal.warning({ + nzTitle: '提示', + nzContent: data['return_msg'], + nzOkText: '取消', + nzOkType: 'primary', + }); + } + setTimeout(() => { + }, 1000); + }, error => { + this.message.create('error', `未知错误!`); + }); + } + + /** + * 新密码校验两次密码是否一致 + * @param control + */ + checkPwd = (control: FormControl): { [s: string]: boolean } => { + if (!control.value) { + return {required: true}; + } else if (control.value !== this.validateForm.controls.newPassword.value) { + return {confirm: true, error: true}; + } + return {}; + } } diff --git a/src/app/admin/recharge-order/price-list/price-list.component.html b/src/app/admin/recharge-order/price-list/price-list.component.html index 406ef4d..122d98a 100644 --- a/src/app/admin/recharge-order/price-list/price-list.component.html +++ b/src/app/admin/recharge-order/price-list/price-list.component.html @@ -9,24 +9,23 @@
- 金额类型 + 运营商 - - - - + + + +
- 展示区域 + 充值平台 - - - - + + + @@ -42,6 +41,30 @@
+
+ + 充值方式 + + + + + + + +
+
+ + 价格状态 + + + + + + + + +
+ @@ -78,11 +101,11 @@ 编号 - 金额类型 - 充值类型 + 充值金额 + 折扣比例 + 支付金额 展示区域 - - + 商品ID 充值金额 支付金额 创建时间 @@ -92,7 +115,10 @@ {{i + 1}} - {{data.type | rechargePrice}} + {{data.rechargePrice}} + {{data.discount + "%"}} + {{data.payPrice}} + {{data.operatorType | rechargePrice}} {{data.rechargeType== 1? '快充':'慢充'}} {{data.showType | showType}} {{data.price}} @@ -100,7 +126,7 @@ {{data.createTime | date: 'yyyy-MM-dd HH:mm'}} 编辑 - {{data.status === 1 ? '禁用': '启用'}} + {{data.status === 1 ? '售空': '禁用'}} 删除 @@ -109,103 +135,112 @@
- + 金额类型 - - - - + + - - 展示区域 - - - - - + + 运营商 + + + + + - - 充值类型 - - - - + + 展示平台 + + + - 商品排序 - - + 充值平台 + + + + - - - - - - - - - - - - - 充值金额 - - - - + 支付方式 + + + + + + + + 充值方式 + + + + + + + + + 充值类型 + + + + + 折扣比例 - - - + - 支付金额 - - - - + 积分支付比例 + +
- - - - - 供货商编号 - 商品ID - 渠道商标识符 - 折扣比例 - 商品名称 - 渠道商名称 - 状态 - - - - - {{data.channel}} - {{data.goodsId}} - {{data.channelMark | channelMark}} - {{data.discountRatio}}% - {{data.goodsName}} - {{data.memberName}} - {{data.state == 1 ? '上架' : '下架'}} - - - - diff --git a/src/app/admin/recharge-order/price-list/price-list.component.ts b/src/app/admin/recharge-order/price-list/price-list.component.ts index 36691eb..51419d6 100644 --- a/src/app/admin/recharge-order/price-list/price-list.component.ts +++ b/src/app/admin/recharge-order/price-list/price-list.component.ts @@ -19,6 +19,10 @@ export class PriceListComponent implements OnInit { searchForm: FormGroup; // 搜索框 validateForm: FormGroup; // 添加框 requestData = []; // 列表数据 + priceArray = []; // 价格数据 + priceTypeArray = []; // 支付类型数据 + platformArray = []; // 充值平台数据 + productPlatformArray = []; // 展示平台数据 total: number; // 页码 pageNum = 1; // 页码 @@ -30,7 +34,10 @@ export class PriceListComponent implements OnInit { isVisibleGoods = false; realPrice = 0; - goodsArray; + + formatterPercent = (value: number): string => `${value == null ? 0 : value} %`; + parserPercent = (value: string): string => value.replace(' %', ''); + constructor( private form: FormBuilder, private recharge: RechargeService, @@ -45,23 +52,49 @@ export class PriceListComponent implements OnInit { ngOnInit(): void { this.init(); + this.getInitData(); + } + + // 获取初始化数据 + private getInitData(): void { + // 获取价格数据 + this.common.getDictionary('RECHARGE_AMOUNT ', data => { + this.priceArray = data['return_data']; + }); + // 获取支付类型 + this.common.getDictionary('PAY_TYPE ', data => { + this.priceTypeArray = data['return_data']; + }); + // 获取充值平台 + this.common.getDictionary('RECHARGE_PLATFORM ', data => { + this.platformArray = data['return_data']; + }); + // 获取展示平台 + this.common.getDictionary('SHOW_PLATFORM ', data => { + this.productPlatformArray = data['return_data']; + }); + } public init(): void { this.searchForm = this.form.group({ - type: [null], + operatorType : [null], + rechargePlatform: [null], rechargeType: [null], - showType: [null], + rechargeWay: [null], + status: [null], }); this.validateForm = this.form.group({ - type: [null, [Validators.required]], - showType: [null, [Validators.required]], - price: [null, [Validators.required]], - rechargeType: [null, [Validators.required]], - realPrice: [{value: null, disabled: true}, [Validators.required]], discount: [null, [Validators.required]], - sort: [null, [Validators.required]], - // channel: [null, [Validators.required]], + integralDiscount: [null, [Validators.required]], + operatorType: [null, [Validators.required]], + rechargePrices: [null, [Validators.required]], + productPlatform: [null, [Validators.required]], + rechargeType: [null, [Validators.required]], + rechargePlatform: [null, [Validators.required]], + rechargeWay: [null, [Validators.required]], + payType: [null, [Validators.required]], + }); @@ -128,7 +161,6 @@ export class PriceListComponent implements OnInit { return; } } - this.validateForm.value.realPrice = this.validateForm.value.price * this.validateForm.value.discount / 100; if (this.edit) { this.validateForm.value['id'] = this.id; @@ -136,6 +168,7 @@ export class PriceListComponent implements OnInit { if (data['return_code'] === '000000') { this.message.success('修改成功'); this.getRequest(false, this.searchForm.value); + this.validateForm.reset(); this.isVisible = false; } else { this.message.error(data['return_msg']); @@ -147,6 +180,7 @@ export class PriceListComponent implements OnInit { this.message.success('添加成功'); this.getRequest(false, this.searchForm.value); this.isVisible = false; + this.validateForm.reset(); } else { this.message.error(data['return_msg']); } @@ -159,9 +193,7 @@ export class PriceListComponent implements OnInit { this.isVisible = false; } - handleCancelGoods(): void { - this.isVisibleGoods = false; - } + public getForbiddenUser(id, status: any): void { const message = (status === 1 ? '是否禁用' : '是否启用'); @@ -196,16 +228,6 @@ export class PriceListComponent implements OnInit { }); } - public getMemberGoods(): void { - this.isVisibleGoods = true; - this.recharge.getMemberGoods(data => { - this.goodsArray = data['return_data']['data']; - }); - } - - public getPrice(): void { - this.realPrice = this.validateForm.value.price * this.validateForm.value.discount / 100; - } diff --git a/src/app/pipes/recharge-price.pipe.ts b/src/app/pipes/recharge-price.pipe.ts index 7da171c..dfde7b3 100644 --- a/src/app/pipes/recharge-price.pipe.ts +++ b/src/app/pipes/recharge-price.pipe.ts @@ -8,11 +8,11 @@ export class RechargePricePipe implements PipeTransform { transform(value: number): string { switch (value) { case 1: - return '电信充值'; + return '电信运营商'; case 2: - return '移动充值'; + return '移动运营商'; case 3: - return '联通充值'; + return '联通运营商'; } } diff --git a/src/app/services/commons.service.ts b/src/app/services/commons.service.ts index cecb47c..d05e85f 100644 --- a/src/app/services/commons.service.ts +++ b/src/app/services/commons.service.ts @@ -6,353 +6,365 @@ import {environment} from '../../environments/environment'; import {HttpClient} from '@angular/common/http'; @Injectable({ - providedIn: 'root' + providedIn: 'root' }) export class CommonsService { - constructor( - private storage: LocalStorageService, - private modalService: NzModalService, // 对话框 - private http: HttpClient, - private notification: NzNotificationService - ) { } - - /** - * 将对象转换成GET请求参数 key1=value1&key2=value2 - * @param object 传入对象 - */ - getWhereCondition(object: object): string { - let str = ''; - for (const i in object) { - if (object[i] != null && object[i] !== '') { - if (str === '') { - str = i + '=' + object[i]; - } else { - str += '&' + i + '=' + object[i]; + constructor( + private storage: LocalStorageService, + private modalService: NzModalService, // 对话框 + private http: HttpClient, + private notification: NzNotificationService + ) { + } + + /** + * 将对象转换成GET请求参数 key1=value1&key2=value2 + * @param object 传入对象 + */ + getWhereCondition(object: object): string { + let str = ''; + for (const i in object) { + if (object[i] != null && object[i] !== '') { + if (str === '') { + str = i + '=' + object[i]; + } else { + str += '&' + i + '=' + object[i]; + } + } + } + return str; + } + + /** + * 校验当前用户是否拥有按钮权限 + * @param btnCode 按钮名称 + */ + public isBtnCompetence(btnCode: string): boolean { + let buttonList = []; + buttonList = this.storage.get(DATA).buttonList; + if (buttonList != null && buttonList.length > 0) { + if (buttonList.find(b => b.permissionCode === btnCode) != null) { + return true; + } + } + return false; + } + + /** + * 提示框提示 + * @param message 传入文字 + * @param callback 回调 + */ + public showConfirm(message, callback) { + this.modalService.confirm({ + nzTitle: message, + nzOkText: '是', + nzOkType: 'danger', + nzOnOk: () => callback(true), + nzCancelText: '否', + }); + } + + /** + * 根据estateId 查询类目树 + * + * @param estateId 类目id + * @param callBack 回调 + */ + public getMallCategoryTree(estateId: number, callBack) { + this.http.get(environment.baseUrl + 'categoryEstates/getMallCategoryTree?estateId=' + estateId).subscribe(data => { + callBack(data); + }); + } + + /** + * 获取全部区域 + * @param callBack 回调 + */ + public getParentInfosByRegionId(regionId: number, callBack) { + this.http.get(environment.baseUrl + 'common/getParentInfosByRegionId?regionId=' + regionId).subscribe(data => { + callBack(data); + }); + } + + /** + * 获取全部区域 + * @param callBack 回调 + */ + public getAllRegion(callBack) { + this.http.get(environment.baseUrl + 'common/getAllProvinceAndCity').subscribe(data => { + callBack(data); + }); + } + + /** + * 获取所有 省 市 区 + * @param callBack 回调 + */ + public getAllProvinceAndCityRegion(callBack) { + this.http.get(environment.baseUrl + 'common/getAllProvinceAndCityRegion').subscribe(data => { + callBack(data); + }); + } + + /** + * 获取行业分类 + * @param callBack 回调 + */ + public getAllIndustry(callBack) { + this.http.get(environment.baseUrl + 'secCompanyIndustry/findIndustryTree').subscribe(data => { + callBack(data); + }); + } + + + /** + * 根据数组对象去重 + * + * @param object 对象 + */ + public getUniqueObject(object: any): any { + const map = {}; + // 1、把数组元素作为对象的键存起来(这样就算有重复的元素,也会相互替换掉) + object.forEach(item => map[JSON.stringify(item)] = item); + + // 2、再把对象的值抽成一个数组返回即为不重复的集合 + return Object.keys(map).map(key => map[key]) as T[]; + } + + /** + * 根据String 非空判断 + * + * @param name String + */ + public getStringIsNull(name: string): boolean { + if (name == null) { + return true; } - } + if (name === '') { + return true; + } + } + + /** + * 校验手机号码 + * + * @param phone String + */ + public verifyPhone(phone: string): boolean { + return phone.length === 11; + } + + /** + * 根据数据类型查询数据字典 + * + * @param codeType 页码 + * @param callback 回调 + */ + public getDictionary(codeType: string, callback): any { + this.http.get(environment.baseUrl + '/common/getDictionaryByCodeType?codeType=' + codeType).subscribe(data => { + callback(data); + }); } - return str; - } - - /** - * 校验当前用户是否拥有按钮权限 - * @param btnCode 按钮名称 - */ - public isBtnCompetence(btnCode: string): boolean { - let buttonList = []; - buttonList = this.storage.get(DATA).buttonList; - if (buttonList != null && buttonList.length > 0) { - if (buttonList.find(b => b.permissionCode === btnCode) != null) { - return true; - } + + public mappingSysNameOl(codeType: string, callback): any { + this.http.get(environment.baseUrl + '/common/getDictionaryByCodeTypeOl?codeType=' + codeType).subscribe(data => { + callback(data); + }); } - return false; - } - - /** - * 提示框提示 - * @param message 传入文字 - * @param callback 回调 - */ - public showConfirm(message , callback) { - this.modalService.confirm({ - nzTitle: message, - nzOkText: '是', - nzOkType: 'danger', - nzOnOk: () => callback(true), - nzCancelText: '否', - }); - } - - /** - * 根据estateId 查询类目树 - * - * @param estateId 类目id - * @param callBack 回调 - */ - public getMallCategoryTree(estateId: number , callBack) { - this.http.get(environment.baseUrl + 'categoryEstates/getMallCategoryTree?estateId=' + estateId).subscribe(data => { - callBack(data); - }); - } - - /** - * 获取全部区域 - * @param callBack 回调 - */ - public getParentInfosByRegionId(regionId: number, callBack) { - this.http.get(environment.baseUrl + 'common/getParentInfosByRegionId?regionId=' + regionId).subscribe(data => { - callBack(data); - }); - } - - /** - * 获取全部区域 - * @param callBack 回调 - */ - public getAllRegion(callBack) { - this.http.get(environment.baseUrl + 'common/getAllProvinceAndCity').subscribe(data => { - callBack(data); - }); - } - - /** - * 获取所有 省 市 区 - * @param callBack 回调 - */ - public getAllProvinceAndCityRegion(callBack) { - this.http.get(environment.baseUrl + 'common/getAllProvinceAndCityRegion').subscribe(data => { - callBack(data); - }); - } - - /** - * 获取行业分类 - * @param callBack 回调 - */ - public getAllIndustry(callBack) { - this.http.get(environment.baseUrl + 'secCompanyIndustry/findIndustryTree').subscribe(data => { - callBack(data); - }); - } - - - /** - * 根据数组对象去重 - * - * @param object 对象 - */ - public getUniqueObject(object: any): any { - const map = {}; - // 1、把数组元素作为对象的键存起来(这样就算有重复的元素,也会相互替换掉) - object.forEach(item => map[JSON.stringify(item)] = item); - - // 2、再把对象的值抽成一个数组返回即为不重复的集合 - return Object.keys(map).map(key => map[key]) as T[]; - } - - /** - * 根据String 非空判断 - * - * @param name String - */ - public getStringIsNull(name: string): boolean { - if (name == null) { - return true; - } - if (name === '') { - return true; - } - } - - /** - * 校验手机号码 - * - * @param phone String - */ - public verifyPhone(phone: string): boolean { - return phone.length === 11; - } - - /** - * 根据数据类型查询数据字典 - * - * @param codeType 页码 - * @param callback 回调 - */ - public getDictionary(codeType: string , callback): any { - this.http.get(environment.baseUrl + '/common/getDictionaryByCodeType?codeType=' + codeType).subscribe( data => { - callback(data); - }); - } - - public mappingSysNameOl(codeType: string , callback): any { - this.http.get(environment.baseUrl + '/common/getDictionaryByCodeTypeOl?codeType=' + codeType).subscribe( data => { - callback(data); - }); - } - - public updateDictionary(codeType: string , codeValue: string , callback): any { - this.http.get(environment.baseUrl + '/common/updateDictionary?codeType=' + codeType + '&codeValue=' + codeValue).subscribe( data => { - callback(data); - }); - } - - /** - * - * 获取全部职位类型 - * - * @param callback - */ - getAllJobType(callback) { - this.http.get('assets/json/jobType.json').subscribe( data => { - callback(data); - }); - } - - /** - * 时间戳转化为年 月 日 时 分 秒 - * timestamp: 时间戳 - * format:返回格式,支持自定义,但参数必须与formatArr里保持一致 - */ - public formatTime(timestamp: number, format: string) { - - const formatArr = ['yyyy', 'MM', 'dd', 'HH', 'mm', 'ss']; - const returnArr = []; - const date = new Date(timestamp); - - returnArr.push(date.getFullYear()); - returnArr.push(this.formatNumber(date.getMonth() + 1)); - returnArr.push(this.formatNumber(date.getDate())); - - returnArr.push(this.formatNumber(date.getHours())); - returnArr.push(this.formatNumber(date.getMinutes())); - returnArr.push(this.formatNumber(date.getSeconds())); - - // tslint:disable-next-line:forin - for (const i in returnArr) { - format = format.replace(formatArr[i], returnArr[i]); + + public updateDictionary(codeType: string, codeValue: string, callback): any { + this.http.get(environment.baseUrl + '/common/updateDictionary?codeType=' + codeType + '&codeValue=' + codeValue).subscribe(data => { + callback(data); + }); } - return format; - } - - // 数据转化 - formatNumber(n) { - n = n.toString(); - return n[1] ? n : '0' + n; - } - - /** - * Notification通知提醒框 - * - * @param type 页码 - * @param title 标题 - * @param content 内容 - */ - public createNotification(type: string , title: string , content: string): void { - this.notification.create( - type, - title, - content - ); - } - - /** - * 职位列表key查询value - * - * @param value string - * @param object object - * @param callback 回调 - */ - public positionKeyValue(value: string , object: Array , callback): void { - // tslint:disable-next-line:forin - for (const i in object) { - if (object[i].value === value) { - callback(object[i].label); - } else { - this.positionKeyValue(value , object[i].children , callback); - } + + /** + * + * 获取全部职位类型 + * + * @param callback + */ + getAllJobType(callback) { + this.http.get('assets/json/jobType.json').subscribe(data => { + callback(data); + }); + } + + /** + * 时间戳转化为年 月 日 时 分 秒 + * timestamp: 时间戳 + * format:返回格式,支持自定义,但参数必须与formatArr里保持一致 + */ + public formatTime(timestamp: number, format: string) { + + const formatArr = ['yyyy', 'MM', 'dd', 'HH', 'mm', 'ss']; + const returnArr = []; + const date = new Date(timestamp); + + returnArr.push(date.getFullYear()); + returnArr.push(this.formatNumber(date.getMonth() + 1)); + returnArr.push(this.formatNumber(date.getDate())); + + returnArr.push(this.formatNumber(date.getHours())); + returnArr.push(this.formatNumber(date.getMinutes())); + returnArr.push(this.formatNumber(date.getSeconds())); + + // tslint:disable-next-line:forin + for (const i in returnArr) { + format = format.replace(formatArr[i], returnArr[i]); + } + return format; + } + + // 数据转化 + formatNumber(n) { + n = n.toString(); + return n[1] ? n : '0' + n; + } + + /** + * Notification通知提醒框 + * + * @param type 页码 + * @param title 标题 + * @param content 内容 + */ + public createNotification(type: string, title: string, content: string): void { + this.notification.create( + type, + title, + content + ); + } + + /** + * 职位列表key查询value + * + * @param value string + * @param object object + * @param callback 回调 + */ + public positionKeyValue(value: string, object: Array, callback): void { + // tslint:disable-next-line:forin + for (const i in object) { + if (object[i].value === value) { + callback(object[i].label); + } else { + this.positionKeyValue(value, object[i].children, callback); + } + } + } + + /** + * 根据数据类型查询数据字典 + * + * @param codeType 类型 + * @param codeValue value + * @param callback 回调 + */ + public getDictionaryByCodeTypeAndValue(codeType: string, codeValue: string, callback): any { + this.http.get(environment.baseUrl + '/common/getDictionaryByCodeTypeAndValue?codeType=' + codeType + '&codeValue=' + codeValue).subscribe(data => { + callback(data); + }); + } + + /** + * 根据数据类型查询数据字典 同步请求 + * + * @param codeType 类型 + * @param codeValue value + * @param callback 回调 + */ + public getDictionaryByCodeTypeAndValuePromise(codeType: string, codeValue: string): any { + return new Promise(resolve => { + this.http.get(environment.baseUrl + '/common/getDictionaryByCodeTypeAndValue?codeType=' + codeType + '&codeValue=' + codeValue).subscribe(data => { + resolve(data['return_data']['codeName']); + }); + }); } - } - - /** - * 根据数据类型查询数据字典 - * - * @param codeType 类型 - * @param codeValue value - * @param callback 回调 - */ - public getDictionaryByCodeTypeAndValue(codeType: string , codeValue: string , callback): any { - this.http.get(environment.baseUrl + '/common/getDictionaryByCodeTypeAndValue?codeType=' + codeType + '&codeValue=' + codeValue).subscribe( data => { - callback(data); - }); - } - - /** - * 根据数据类型查询数据字典 同步请求 - * - * @param codeType 类型 - * @param codeValue value - * @param callback 回调 - */ - public getDictionaryByCodeTypeAndValuePromise(codeType: string , codeValue: string): any { - return new Promise(resolve => { - this.http.get(environment.baseUrl + '/common/getDictionaryByCodeTypeAndValue?codeType=' + codeType + '&codeValue=' + codeValue).subscribe(data => { - resolve(data['return_data']['codeName']); - }); - }); - } /** * 查询登录页展示的公司 * @param param 参数 * @param callback 回调 */ - public getHomeCompanyList(param: object, callback): any { - this.http.get(environment.baseUrl + 'common/getHomeCompanyList?' + this.getWhereCondition(param)).subscribe( data => { - callback(data); - }); - } - - /** - * 新增团油油品配置 - * - * @param params 上传对象 - * @param callBack 回调 - * @return data 返回结果 - */ - public editGasDiscountOilPrice(params: object, callBack) { - this.http.post(environment.baseUrl + 'highGasDiscountOilPrice/editGasDiscountOilPrice', params).subscribe(data => { - callBack(data); - }); - } - - /** - * 查询公司列表 - * - * @param paramsObject 对象 - * @param callBack 回调 - */ - public getList(paramsObject: object, callBack) { - this.http.get(environment.baseUrl + 'highGasDiscountOilPrice/getList?' + this.getWhereCondition(paramsObject)).subscribe(data => { - callBack(data); - }); - } - - /** - * 根据estateId 查询类目树 - * - * @param id 类目id - * @param callBack 回调 - */ - public getDetailById(id: number , callBack) { - this.http.get(environment.baseUrl + 'highGasDiscountOilPrice/getDetailById?id=' + id).subscribe(data => { - callBack(data); - }); - } - - /** - * 根据estateId 查询类目树 - * - * @param id 类目id - * @param callBack 回调 - */ - public delete(id: number , callBack) { - this.http.post(environment.baseUrl + 'highGasDiscountOilPrice/delete' , { id: id}).subscribe(data => { - callBack(data); - }); - } - - /** - * 查询公司 - * @param param 参数 - * @param callback 回调 - */ - public getOrganizationList(param: object, callback): any { - this.http.get(environment.baseUrl + 'bsOrganization/getOrganizationList?' + this.getWhereCondition(param)).subscribe( data => { - callback(data); - }); - } + public getHomeCompanyList(param: object, callback): any { + this.http.get(environment.baseUrl + 'common/getHomeCompanyList?' + this.getWhereCondition(param)).subscribe(data => { + callback(data); + }); + } + + /** + * 新增团油油品配置 + * + * @param params 上传对象 + * @param callBack 回调 + * @return data 返回结果 + */ + public editGasDiscountOilPrice(params: object, callBack) { + this.http.post(environment.baseUrl + 'highGasDiscountOilPrice/editGasDiscountOilPrice', params).subscribe(data => { + callBack(data); + }); + } + + /** + * 查询公司列表 + * + * @param paramsObject 对象 + * @param callBack 回调 + */ + public getList(paramsObject: object, callBack) { + this.http.get(environment.baseUrl + 'highGasDiscountOilPrice/getList?' + this.getWhereCondition(paramsObject)).subscribe(data => { + callBack(data); + }); + } + + /** + * 根据estateId 查询类目树 + * + * @param id 类目id + * @param callBack 回调 + */ + public getDetailById(id: number, callBack) { + this.http.get(environment.baseUrl + 'highGasDiscountOilPrice/getDetailById?id=' + id).subscribe(data => { + callBack(data); + }); + } + + /** + * 根据estateId 查询类目树 + * + * @param id 类目id + * @param callBack 回调 + */ + public delete(id: number, callBack) { + this.http.post(environment.baseUrl + 'highGasDiscountOilPrice/delete', {id: id}).subscribe(data => { + callBack(data); + }); + } + + /** + * 查询公司 + * @param param 参数 + * @param callback 回调 + */ + public getOrganizationList(param: object, callback): any { + this.http.get(environment.baseUrl + 'bsOrganization/getOrganizationList?' + this.getWhereCondition(param)).subscribe(data => { + callback(data); + }); + } + + /** + * 查询所有数据字典 + * @param param 参数 + * @param callback 回调 + */ + public getDictionaries(callback): any { + this.http.get(environment.baseUrl + 'bsOrganization/getOrganizationList').subscribe(data => { + callback(data); + }); + } } diff --git a/src/app/services/local-storage.namespace.ts b/src/app/services/local-storage.namespace.ts index 7932616..c98ad03 100644 --- a/src/app/services/local-storage.namespace.ts +++ b/src/app/services/local-storage.namespace.ts @@ -14,3 +14,4 @@ export const RESUME_STATUS = 'resume_status'; export const RESUME_STATUS_NAME = 'resume_status_name'; export const LOGINTYPE = 'loginType'; // 1 pc端登录 2 后台登录 export const COMPANYMENU = 'companyMenu'; // 1 公司路由 +export const ALL_DICTIONARY = 'dictionary'; // 数据字典