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