diff --git a/src/app/routes/financial-management/components/recharge-record/recharge-record.component.less b/src/app/routes/financial-management/components/recharge-record/recharge-record.component.less index 960ac7e3..0fed18b6 100644 --- a/src/app/routes/financial-management/components/recharge-record/recharge-record.component.less +++ b/src/app/routes/financial-management/components/recharge-record/recharge-record.component.less @@ -14,6 +14,10 @@ nz-range-picker { width: 100%; } + + .text-truncate { + white-space: normal; + } } .expend-options { diff --git a/src/app/routes/financial-management/components/recharge-record/recharge-record.component.ts b/src/app/routes/financial-management/components/recharge-record/recharge-record.component.ts index 11be3af5..14cda69d 100644 --- a/src/app/routes/financial-management/components/recharge-record/recharge-record.component.ts +++ b/src/app/routes/financial-management/components/recharge-record/recharge-record.component.ts @@ -157,20 +157,23 @@ export class RechargeRecordComponent implements OnInit { private initST(): STColumn[] { return [ - { title: '充值时间', index: 'createTime', type: 'date' }, - { title: '充值单号', index: 'rechargeNo' }, - { title: '网络货运人', index: 'ltdName' }, - { title: '银行类型', index: 'bankTypeLabel' }, - { title: '账户类型', index: 'accountTypeLabel' }, - { title: '账户名称', index: 'rechargeName' }, - { title: '虚拟账户', index: 'virtualAccount' }, - { title: '充值金额', index: 'rechargeAmount' }, - { title: '充值银行账户', render: 'transferBankAccount' }, - { title: '充值方式', index: 'payChannelLabel' }, - { title: '充值状态', index: 'rechargeStatusLabel' }, - { title: '银行流水号', index: 'paySerialNumber' }, + { title: '充值时间', index: 'createTime', type: 'date', width: 180 }, + { title: '充值单号', index: 'rechargeNo', width: 120 }, + { title: '网络货运人', index: 'ltdName', width: 120 }, + { title: '银行类型', index: 'bankTypeLabel', width: 100 }, + { title: '账户类型', index: 'accountTypeLabel', width: 100 }, + { title: '账户名称', index: 'rechargeName', width: 100 }, + { title: '虚拟账户', index: 'virtualAccount', width: 100 }, + { title: '充值金额', index: 'rechargeAmount', width: 100 }, + { title: '充值银行账户', render: 'transferBankAccount', width: 140 }, + { title: '充值方式', index: 'payChannelLabel', width: 100 }, + { title: '充值状态', index: 'rechargeStatusLabel', width: 100 }, + { title: '银行流水号', index: 'paySerialNumber', width: 120 }, { title: '操作', + width: 100, + fixed: 'right', + className: 'text-center', buttons: [ { text: '查看回单' diff --git a/src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.ts b/src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.ts index 538d5a80..b40e2924 100644 --- a/src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.ts +++ b/src/app/routes/financial-management/components/transaction-flow/transaction-flow.component.ts @@ -206,12 +206,12 @@ export class TransactionFlowComponent implements OnInit { private initST(): STColumn[] { return [ - { title: '交易时间', index: 'createTime', width: 150 }, + { title: '交易时间', index: 'createTime', width: 180 }, { title: '流水号', index: 'transactionNumber', width: 150 }, - { title: '交易类型', index: 'tradeTypeLabel', width: 100 }, + { title: '交易类型', index: 'tradeTypeLabel', width: 120 }, { title: '关联单号', index: 'businessNumber', width: 150 }, - { title: '账户类型', index: 'channelSource', width: 100, enum: { 1: '货主端', 2: '司机端', 3: '运营平台' } }, - { title: '账户名称', index: 'driverName', width: 100 }, + { title: '账户类型', index: 'accountTypeLabel', width: 100 }, + { title: '账户名称', index: 'enterpriseName', width: 100 }, { title: '所属项目', index: 'projectName', width: 100 }, { title: '收支类型', index: 'incomeTypeLabel', width: 100 }, { title: '交易金额', index: 'amount', width: 100 }, diff --git a/src/app/routes/financial-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts b/src/app/routes/financial-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts index a71aabad..eee41855 100644 --- a/src/app/routes/financial-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts +++ b/src/app/routes/financial-management/components/withdrawals-record/withdrawals-detail/withdrawals-detail.component.ts @@ -31,27 +31,44 @@ export class WithdrawalsDetailComponent implements OnInit { this.service.request(this.service.$api_get_refund_detail, { id }).subscribe(res => { if (res) { this.formData = res; + // 处理流程节点数据 + // 流程是否结束 + let isEnd = false; if (res.successTime) { - this.timeLineData.push({ time: res.successTime, value: `到账成功`, color: 'green' }); + isEnd = true; + if (res.refundStatus === '3') { + this.timeLineData.push({ time: res.successTime, value: `到账成功`, color: 'green' }); + } else { + this.timeLineData.push({ time: res.successTime, value: `提现失败`, color: 'red' }); + } } - if (res.agreeTime) { + if (res.agreeTime && res.refundStatus !== '4') { this.timeLineData.push({ time: res.agreeTime, value: `银行处理中`, color: 'gray' }); } if (res.agreeTime) { - this.timeLineData.push({ - time: res.agreeTime, - value: `审核通过
操作人员:${res.bankAccountName}`, - color: 'gray' - }); + if (res.refundStatus === '4') { + isEnd = true; + this.timeLineData.push({ + time: res.agreeTime, + value: `拒绝提现
操作人员:${res.handlerUserIdLabel}`, + color: 'red' + }); + } else { + this.timeLineData.push({ + time: res.agreeTime, + value: `审核通过
操作人员:${res.handlerUserIdLabel}`, + color: 'gray' + }); + } } if (res.createTime) { this.timeLineData.push({ time: res.createTime, - value: `提交提现申请
提现${res.amount}元至${res.bankName}(${res.bankCardNumber})
操作人员:${res.bankAccountName}`, + value: `提交提现申请
提现${res.amount}元至${res.bankName}(${res.bankCardNumber})
操作人员:${res.userIdLabel}`, color: 'gray' }); } - if (this.timeLineData?.length > 0) { + if (this.timeLineData?.length > 0 && !isEnd) { this.timeLineData[0].color = 'green'; } } diff --git a/src/app/routes/sys-setting/components/goods-name-config/goods-name-config.component.html b/src/app/routes/sys-setting/components/goods-name-config/goods-name-config.component.html index cd4caae6..bf19c01b 100644 --- a/src/app/routes/sys-setting/components/goods-name-config/goods-name-config.component.html +++ b/src/app/routes/sys-setting/components/goods-name-config/goods-name-config.component.html @@ -6,18 +6,18 @@
+ [ngClass]="{'select-type': selectedType.id===item.id}" (click)="selectedTypeAction(item)">
- +
    -
  • 编辑{{i}}
  • -
  • 上移
  • -
  • 下移
  • -
  • 删除
  • +
  • 编辑
  • +
  • 上移
  • +
  • 下移
  • +
  • 删除
@@ -25,7 +25,8 @@
- +
@@ -33,20 +34,44 @@
- + - - + + +
-
+ - \ No newline at end of file + +
+
+ + + +
+
+
+ + +
+
+ + {{selectedType?.name}} + + + + +
+
+
\ No newline at end of file diff --git a/src/app/routes/sys-setting/components/goods-name-config/goods-name-config.component.ts b/src/app/routes/sys-setting/components/goods-name-config/goods-name-config.component.ts index b07c48c5..f1174be4 100644 --- a/src/app/routes/sys-setting/components/goods-name-config/goods-name-config.component.ts +++ b/src/app/routes/sys-setting/components/goods-name-config/goods-name-config.component.ts @@ -1,5 +1,5 @@ import { Component, OnInit, ViewChild } from '@angular/core'; -import { STComponent, STColumn } from '@delon/abc/st'; +import { STComponent, STColumn, STRequestOptions } from '@delon/abc/st'; import { NzModalService } from 'ng-zorro-antd/modal'; import { SystemService } from '../../services/system.service'; @@ -9,66 +9,229 @@ import { SystemService } from '../../services/system.service'; styleUrls: ['./goods-name-config.component.less'] }) export class GoodsNameConfigComponent implements OnInit { - typeList = [ - { title: '零件配件', sort: 1, id: 1 }, - { title: '衣用物资', sort: 2, id: 2 }, - { title: '空包装', sort: 3, id: 3 }, - { title: '废品废料', sort: 4, id: 4 }, - { title: '家具家居', sort: 8, id: 5 }, - { title: '衣用物资', sort: 6, id: 6 }, - { title: '空包装', sort: 7, id: 7 }, - { title: '衣用物资', sort: 8, id: 8 }, - { title: '空包装', sort: 9, id: 9 }, - { title: '废品废料', sort: 10, id: 10 }, - { title: '废品废料2', sort: 11, id: 11 }, - { title: '废品废料3', sort: 12, id: 12 }, - { title: '零件配件', sort: 1, id: 1 }, - { title: '衣用物资', sort: 2, id: 2 }, - { title: '空包装', sort: 3, id: 3 }, - { title: '废品废料', sort: 4, id: 4 }, - { title: '家具家居', sort: 8, id: 5 }, - { title: '衣用物资', sort: 6, id: 6 }, - { title: '空包装', sort: 7, id: 7 }, - { title: '衣用物资', sort: 8, id: 8 }, - { title: '空包装', sort: 9, id: 9 }, - { title: '废品废料', sort: 10, id: 10 }, - { title: '废品废料2', sort: 11, id: 11 }, - { title: '废品废料3', sort: 12, id: 12 } - ]; - selectedType = 1; - + @ViewChild('configTypeModal', { static: true }) + configTypeModal: any; + @ViewChild('configTypeItemModal', { static: true }) + configTypeItemModal: any; @ViewChild('st', { static: true }) st!: STComponent; - url = `/rule?_allow_anonymous=true`; - reqParams = {}; + typeList: any[] = []; + selectedType: any = null; + parentId = null; + columns: STColumn[] = [ - { title: '货物名称', index: 'no' }, - { title: '更新时间', index: 'description' }, + { title: '货物名称', index: 'name' }, + { title: '更新时间', index: 'modifyTime' }, { title: '操作', buttons: [ { - text: '编辑' - // click: item => this.staffAction(item) + text: '编辑', + click: item => this.typeItemAction(item) }, { text: '上移', - iif: item => item.no !== 0 - // click: item => this.action(2) + click: item => this.sortTypeItem(item, 3) }, { text: '下移', - iif: item => item.status !== 10 - // click: item => this.action(1) + click: item => this.sortTypeItem(item, 4) }, { text: '删除', - // click: item => this.action(3) + click: item => this.removeTypeItem(item) } ] } ]; + + configTypeName = ''; + configTypeItemName = ''; + searchName = ''; constructor(public service: SystemService, private nzModalService: NzModalService) {} - ngOnInit(): void {} + ngOnInit(): void { + this.getTypeList(); + } + + beforeReq = (requestOptions: STRequestOptions) => { + Object.assign(requestOptions.body, { + configId: this.selectedType?.id + }); + if (this.searchName) { + Object.assign(requestOptions.body, { + name: this.searchName + }); + } + return requestOptions; + }; + + keydownEvent(event: any) { + if (event.keyCode === 13) { + this.st.load(1); + } + } + + getTypeList() { + this.service.request(this.service.$api_get_config_tree, { configFullKey: 'goods.name.config' }).subscribe((res: Array) => { + if (res?.length > 0) { + const typeData = res + .find(config => config.configFullKey === 'goods.name.config') + ?.children.find((type: any) => type.configFullKey === 'goods.name.config.type'); + if (typeData) { + this.typeList = typeData.children; + this.parentId = typeData.id; + this.selectedType = typeData.children[0]; + } + } + }); + } + + selectedTypeAction(item: any) { + this.selectedType = item; + this.st.load(1); + } + + /** + * 货物类型操作 + * @param item + */ + typeAction(item?: any) { + this.configTypeName = item?.name || ''; + this.nzModalService.create({ + nzTitle: item ? '编辑' : '新增', + nzContent: this.configTypeModal, + nzOnOk: () => { + if (!this.configTypeName) { + this.service.msgSrv.warning('请填写货物类型'); + return false; + } + if (item) { + this.service.request(this.service.$api_update_config, { ...item, name: this.configTypeName }).subscribe(res => { + if (res) { + this.service.msgSrv.success('更新货物类型成功'); + this.getTypeList(); + } + }); + } else { + this.service.request(this.service.$api_add_config, { name: this.configTypeName, parentId: this.parentId }).subscribe(res => { + if (res) { + this.service.msgSrv.success('新增货物类型成功'); + this.getTypeList(); + } + }); + } + return true; + } + }); + } + + /** + * 货物类型操作 + * @param item + */ + typeItemAction(item?: any) { + this.configTypeItemName = item?.name || ''; + this.nzModalService.create({ + nzTitle: item ? '编辑' : '新增', + nzContent: this.configTypeItemModal, + nzOnOk: () => { + if (!this.configTypeItemName) { + this.service.msgSrv.warning('请填写货物名称'); + return false; + } + if (item) { + this.service.request(this.service.$api_update_config_item, { ...item, name: this.configTypeItemName }).subscribe(res => { + if (res) { + this.service.msgSrv.success('更新货物名称成功'); + this.st.load(1); + } + }); + } else { + this.service + .request(this.service.$api_add_config_item, { + name: this.configTypeItemName, + configId: this.selectedType.id + }) + .subscribe(res => { + if (res) { + this.service.msgSrv.success('新增货物名称成功'); + this.st.load(1); + } + }); + } + return true; + } + }); + } + + /** + * 删除货物类型 + * @param item + */ + removeType(item: any) { + this.nzModalService.warning({ + nzTitle: '确定删除该货物类型吗?', + nzContent: '分类下含有内容则无法删除,请确认', + nzOnOk: () => { + this.service.request(this.service.$api_remove_config, [item.id]).subscribe(res => { + if (res) { + this.getTypeList(); + this.service.msgSrv.success('删除货物类型成功'); + } + }); + } + }); + } + + /** + * 删除货物名称 + * @param item + */ + removeTypeItem(item: any) { + this.nzModalService.warning({ + nzTitle: '确定删除该货物名称吗?', + nzContent: '删除后不可恢复,谨慎操作', + nzOnOk: () => { + this.service.request(this.service.$api_remove_config_item, [item.id]).subscribe(res => { + if (res) { + this.service.msgSrv.success('删除货物名称成功'); + this.st.load(1); + } + }); + } + }); + } + + /** + * 修改类型排序 + * @param item + * @param sortMode + */ + sortType(item: any, sortMode: 1 | 2 | 3 | 4) { + this.service.request(this.service.$api_update_config_sort, { id: item.id, sortMode }).subscribe(res => { + if (res) { + this.service.msgSrv.success('更新排序成功'); + this.getTypeList(); + } else { + this.service.msgSrv.warning('更新排序失败'); + } + }); + } + + /** + * 修改类型详情排序 + * @param item + * @param sortMode + */ + sortTypeItem(item: any, sortMode: 1 | 2 | 3 | 4) { + this.service.request(this.service.$api_update_config_item_sort, { id: item.id, sortMode }).subscribe(res => { + if (res) { + this.service.msgSrv.success('更新排序成功'); + this.st.load(1); + } else { + this.service.msgSrv.warning('更新排序失败'); + } + }); + } } diff --git a/src/app/routes/sys-setting/services/system.service.ts b/src/app/routes/sys-setting/services/system.service.ts index 1012fd28..31125e27 100644 --- a/src/app/routes/sys-setting/services/system.service.ts +++ b/src/app/routes/sys-setting/services/system.service.ts @@ -92,6 +92,27 @@ export class SystemService extends BaseService { // 编辑协议 public $api_update_agreement = '/api/mdc/pbc/agreementInfo/modifyAgreementInfo'; + // 根据FullKey获取系统子配置(树) + public $api_get_config_tree = '/api/mdc/pbc/sysConfig/getSysConfigTreeByParentFullKey'; + // 新增系统配置 + public $api_add_config = '/api/mdc/pbc/sysConfig/save'; + // 更新系统配置 + public $api_update_config = '/api/mdc/pbc/sysConfig/update'; + // 更新系统配置排序 + public $api_update_config_sort = '/api/mdc/pbc/sysConfig/updateSort'; + // 删除系统配置 + public $api_remove_config = '/api/mdc/pbc/sysConfig/deletebatch'; + // 查询系统配置项 + public $api_get_config_item_page = '/api/mdc/pbc/sysConfigItem/list/page'; + // 新增系统配置项 + public $api_add_config_item = '/api/mdc/pbc/sysConfigItem/save'; + // 更新系统配置项 + public $api_update_config_item = '/api/mdc/pbc/sysConfigItem/update'; + // 更新系统配置项排序 + public $api_update_config_item_sort = '/api/mdc/pbc/sysConfigItem/updateSort'; + // 删除系统配置项 + public $api_remove_config_item = '/api/mdc/pbc/sysConfigItem/deletebatch'; + $api_getRoleTemplateInfo: string = ''; $api_getFunctionButtonInfo: string = ''; $api_getFunctionDataInfo: string = '';