Merge branch 'develop' of https://gitlab.eascs.com/tms-ui/tms-obc-web into develop

This commit is contained in:
Taric Xin
2022-05-12 10:17:55 +08:00
13 changed files with 299 additions and 123 deletions

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-01-18 09:51:21 * @Date : 2022-01-18 09:51:21
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-05-11 13:29:32 * @LastEditTime : 2022-05-11 19:19:55
* @FilePath : \\tms-obc-web\\proxy.conf.js * @FilePath : \\tms-obc-web\\proxy.conf.js
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
*/ */
@ -30,7 +30,7 @@ module.exports = {
// }, // },
'//api': { '//api': {
target: { target: {
host: 'tms-api-test.eascs.com', host: 'tms-api-dev.eascs.com',
protocol: 'https:', protocol: 'https:',
port: 443 port: 443
}, },

View File

@ -1,3 +1,13 @@
<!--
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-04-28 20:27:07
* @LastEditors : Shiming
* @LastEditTime : 2022-05-11 20:46:30
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\account-management\\components\\recorded-detail\\recorded-detail.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved.
-->
<page-header-wrapper [title]="'待入账明细'" [logo]="logo"> <page-header-wrapper [title]="'待入账明细'" [logo]="logo">
<ng-template #logo> <ng-template #logo>
<button nz-button (click)="goBack()"> <button nz-button (click)="goBack()">
@ -6,29 +16,44 @@
</ng-template> </ng-template>
</page-header-wrapper> </page-header-wrapper>
<nz-card> <nz-card>
<sv-container layout="vertical" [noColon]="true" col="5"> <sv-container layout="vertical" [noColon]="true" col="6">
<sv [label]="labelTpl"> <sv label="合伙人信息">
<b class="text-md ">{{summaryObj?.taxno}}</b> <div
><b>{{ summaryObj?.partnerName }}</b></div
>
<div
><b>{{ summaryObj?.partnerInfo }}</b></div
>
</sv> </sv>
<sv label="返佣总额"> <sv label="返佣总额">
<span class="text-error-dark font-weight-bold">{{(summaryObj?.totalRebate?summaryObj?.totalRebate: 0 )|currency :' <span class="text-error-dark font-weight-bold">{{ (summaryObj?.totalRebate ? summaryObj?.totalRebate : 0) | currency }}</span>
'}}</span>
</sv> </sv>
<sv label="已入账金额"> <sv label="已入账金额">
<span class="text-error-dark font-weight-bold">{{(summaryObj?.recordedAmount?summaryObj?.recordedAmount:0 <span class="text-error-dark font-weight-bold">{{ (summaryObj?.recordedAmount ? summaryObj?.recordedAmount : 0) | currency }}</span>
)|currency:' '}}</span>
</sv> </sv>
<sv label="代缴个税"> <sv label="代缴个税">
<span class="text-error-dark font-weight-bold">{{(summaryObj?.taxPersonalSum?summaryObj?.taxPersonalSum:0 <span class="text-error-dark font-weight-bold">{{
)|currency:' '}}</span> (summaryObj?.recordedTaxPersonal ? summaryObj?.recordedTaxPersonal : 0) | currency
}}</span>
</sv>
<sv label="入账中金额">
<span class="text-error-dark font-weight-bold">{{
(summaryObj?.ongoingRecordedAmount ? summaryObj?.ongoingRecordedAmount : 0) | currency
}}</span>
</sv>
<sv label="代缴中个税">
<span class="text-error-dark font-weight-bold">{{
(summaryObj?.waitRecordedTaxPersonal ? summaryObj?.waitRecordedTaxPersonal : 0) | currency
}}</span>
</sv> </sv>
<sv label="待入账金额"> <sv label="待入账金额">
<span class="text-error-dark font-weight-bold">{{(summaryObj?.waitRecordedAmount?summaryObj?.waitRecordedAmount:0) <span class="text-error-dark font-weight-bold">{{
|currency:' '}}</span> (summaryObj?.waitRecordedAmount ? summaryObj?.waitRecordedAmount : 0) | currency
}}</span>
</sv> </sv>
</sv-container> </sv-container>
<ng-template #labelTpl> <ng-template #labelTpl>
<b class="text-md" style="color: black;">{{summaryObj?.ltdName}}</b> <b class="text-md" style="color: black">{{ summaryObj?.ltdName }}</b>
</ng-template> </ng-template>
</nz-card> </nz-card>
<nz-card> <nz-card>
@ -36,44 +61,81 @@
<sf mode="search" #sf [schema]="schema" [ui]="ui" (formSubmit)="search()" (formReset)="resetSF()"></sf> <sf mode="search" #sf [schema]="schema" [ui]="ui" (formSubmit)="search()" (formReset)="resetSF()"></sf>
</div> </div>
<div class="table-content"> <div class="table-content">
<st #st [data]="service.$api_get_invoice_detail_page " [columns]="columns" <st
[req]="{ method: 'POST', allInBody: true, reName: {pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" #st
[data]="service.$api_get_invoice_detail_page"
[columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }" [res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[page]="{ show: true, showSize: true, pageSizes: [5,10, 20, 50, 100, 200, 500] }" [page]="{ show: true, showSize: true, pageSizes: [5, 10, 20, 50, 100, 200, 500] }"
[loading]="service.http.loading" [scroll]="{x:'1200px'}"> [scroll]="{ x: '1200px' }"
<ng-template st-row="amount" let-item> >
<div *ngIf="item.incomeType === '1'"> - {{item.amount | currency }}</div> <!-- [loading]="service.http.loading" -->
<div *ngIf="item.incomeType === '2'"> + {{item.amount | currency }}</div>
<ng-template st-row="recordedAmount" let-item>
<div>{{ item.recordedAmount | currency }}</div>
</ng-template>
<ng-template st-row="recordedTaxPersonal" let-item>
<div>{{ item.recordedTaxPersonal | currency }}</div>
</ng-template>
<ng-template st-row="ongoingRecordedAmount" let-item>
<div>{{ item.ongoingRecordedAmount | currency }}</div>
</ng-template>
<ng-template st-row="waitRecordedTaxPersonal" let-item>
<div>{{ item.waitRecordedTaxPersonal | currency }}</div>
</ng-template>
<ng-template st-row="changeAmount" let-item>
<div>{{ item.changeAmount | currency }}</div>
</ng-template>
<ng-template st-row="waitRecordedAmount" let-item>
<div>{{ item.waitRecordedAmount | currency }}</div>
</ng-template>
<ng-template st-row="totalRebate" let-item>
<div>{{ item.totalRebate | currency }}</div>
</ng-template> </ng-template>
</st> </st>
<div class="total-footer text-md" *ngIf="st?.list?.length !== 0 ">
合计 <label class="text-red-dark">{{ footerSummary?.total }}</label> 项,收入 <label
class="text-red-dark font-weight-bold">{{
footerSummary?.income | currency
}}</label>,支出 <label class="text-red-dark font-weight-bold">{{
footerSummary?.spending | currency }}</label>
</div>
</div> </div>
</nz-card> </nz-card>
<nz-modal [(nzVisible)]="showBillDetail" nzTitle="账户明细" [nzFooter]="null" (nzOnCancel)="handleCancel()" nzWidth="700px"> <nz-modal [(nzVisible)]="showBillDetail" nzTitle="账户明细" [nzFooter]="null" (nzOnCancel)="handleCancel()" nzWidth="700px">
<div *nzModalContent> <div *nzModalContent>
<div class="mb-sm"> <div class="mb-sm">
<span class="mr-xxl text-sm font-weight-bold"><label>网络货运人:</label>{{detailRecord?.ltdName}}</span> <span class="mr-xxl text-sm font-weight-bold"><label>网络货运人:</label>{{ detailRecord?.ltdName }}</span>
<span class="text-sm font-weight-bold"><label>返佣总额(元):</label>{{detailRecord?.totalRebate |currency: ' '}}</span> <span class="text-sm font-weight-bold"><label>返佣总额(元):</label>{{ detailRecord?.totalRebate | currency: ' ' }}</span>
</div> </div>
<st #st [data]="billDetailList " [columns]="billDetailColumns" [res]="{ reName: { list: 'data' } }" <st
[req]="{ method: 'POST', allInBody: true, params:billDetailReqParams}" [page]="{show:false}"> #st
[data]="billDetailList"
[columns]="billDetailColumns"
[res]="{ reName: { list: 'data' } }"
[req]="{ method: 'POST', allInBody: true, params: billDetailReqParams }"
[page]="{ show: false }"
>
<ng-template st-row="month" let-item> <ng-template st-row="month" let-item>
<div> <div>
<span>{{item?.year }}年</span> <span>{{ item?.year }}年</span>
<span>{{item?.month }}月</span> <span>{{ item?.month }}月</span>
</div> </div>
</ng-template> </ng-template>
<ng-template st-row="profitAmountSum" let-item> <ng-template st-row="profitAmountSum" let-item>
<div>{{item?.profitAmountSum |currency :' '}}</div> <div>{{ item?.profitAmountSum | currency: ' ' }}</div>
</ng-template> </ng-template>
</st> </st>
</div> </div>
</nz-modal> </nz-modal>
<nz-modal [(nzVisible)]="changeAccount" nzTitle="账户明细" [nzFooter]="null" (nzOnCancel)="handleCancelA()" nzWidth="600px">
<div *nzModalContent>
<div style="display: flex; justify-content: center; align-items: center;font-weight: 700; font-size: 16px; padding: 10px 0;"><label>网络货运人:</label>{{ changeRecord?.ltdName }}</div>
<div style="display: flex; justify-content: center; align-items: center;font-weight: 700; font-size: 16px; padding: 10px 0;"><label>待入账金额(元):</label>{{ changeRecord?.waitRecordedAmount | currency }}</div>
<sf #sfView [schema]="schemaView" [ui]="uiView" [compact]="true" [button]="'none'">
<ng-template sf-template="smsVerifyCode" let-me let-ui="uiView" let-schema="schemaView">
<div style="display: flex;">
<div style="display: flex; justify-content: center; align-items: center;width: 30px; height: 30px; background-color: #ccc;margin: 0 10px;font-size: 14px;">+</div>
<div style="display: flex; justify-content: center; align-items: center;width: 30px; height: 30px; background-color: #ccc;margin: 0 10px;font-size: 14px;">-</div>
<nz-input-number style="width: 50%; border-radius: 4px 0 0 4px;" nzPlaceHolder="请输入金额" [(ngModel)]="demoValue" [nzMin]="1" [nzMax]="99999999" [nzStep]="1"></nz-input-number>
<span style="margin: 10px ;"></span>
</div>
</ng-template>
</sf>
</div>
</nz-modal>

View File

@ -7,7 +7,7 @@ import { AccountManagemantService } from '../../services/account-managemant.serv
@Component({ @Component({
selector: 'app-partner-account-management-recorded-detail', selector: 'app-partner-account-management-recorded-detail',
templateUrl: './recorded-detail.component.html', templateUrl: './recorded-detail.component.html'
}) })
export class PartnerAccountManagementRecordedDetailComponent implements OnInit { export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
summaryObj: any = { summaryObj: any = {
@ -18,14 +18,18 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
ltdName: '', ltdName: '',
taxno: '' taxno: ''
}; };
@ViewChild('sfView', { static: false }) sfView!: SFComponent;
schemaView!: SFSchema;
uiView: SFUISchema = {};
footerSummary = { footerSummary = {
total: 0, total: 0,
income: 0, income: 0,
spending: 0 spending: 0
} };
detailRecord: any = {}; detailRecord: any = {};
changeRecord: any = {};
url = `/user`; url = `/user`;
schema: SFSchema = {}; schema: SFSchema = {};
@ -33,19 +37,17 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
@ViewChild('st') private readonly st!: STComponent; @ViewChild('st') private readonly st!: STComponent;
@ViewChild('sf') private readonly sf!: SFComponent; @ViewChild('sf') private readonly sf!: SFComponent;
columns: STColumn[] = []; columns: STColumn[] = [];
billDetailColumns: STColumn[] = []; billDetailColumns: STColumn[] = [];
showBillDetail = false; showBillDetail = false;
changeAccount = false;
billDetailList = []; billDetailList = [];
roleId = ''; roleId = '';
demoValue!: number;
constructor(public service: AccountManagemantService, public router: Router, public ar: ActivatedRoute) { constructor(public service: AccountManagemantService, public router: Router, public ar: ActivatedRoute) {
this.roleId = this.ar.snapshot.params.id; this.roleId = this.ar.snapshot.params.id;
} }
get reqParams() { get reqParams() {
return { ...this.sf?.value, partnerId: this.roleId }; return { ...this.sf?.value, partnerId: this.roleId };
} }
@ -63,45 +65,60 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
this.schema = { this.schema = {
properties: { properties: {
ltdName: { ltdName: {
title: '网络货运人',
type: 'string', type: 'string',
title: '网络货运人',
ui: { ui: {
placeholder: '请输入', placeholder: '请输入',
}, // allowClear: true,
}, // asyncData: () => this.service.getNetworkFreightForwarder(),
// visibleIf: {
// expand: (value: boolean) => value
// }
}
}
} }
} };
this.ui = { '*': { spanLabelFixed: 120, grid: { span: 8, gutter: 4 } }, }; this.ui = { '*': { spanLabelFixed: 120, grid: { span: 8, gutter: 4 } } };
} }
/** /**
* 初始化数据列表 * 初始化数据列表
*/ */
initST() { initST() {
this.columns = [ this.columns = [
{ title: '网络货运人', index: 'ltdName', className: 'text-center', width: 200 }, { title: '网络货运人', index: 'ltdName', className: 'text-center', width: 200 },
{ title: '银行类型', render: 'bankTypeLabel', className: 'text-center', width: 150 }, { title: '银行类型', index: 'bankTypeName', className: 'text-center', width: 150 },
{ title: '虚拟账户', render: 'fictitiousAccount', className: 'text-center', width: 200 }, { title: '虚拟账户', index: 'virtualAccount', className: 'text-center', width: 200 },
{ title: '返佣总额(元)', index: 'totalRebate', className: 'text-center', width: 180, type: 'currency' }, { title: '返佣总额(元)', render: 'totalRebate', className: 'text-center', width: 180 },
{ title: '已入账金额(元)', index: 'recordedAmount', className: 'text-center', width: 180, type: 'currency' }, { title: '已入账金额(元)', render: 'recordedAmount', className: 'text-center', width: 180 },
{ title: '代缴个税(元)', index: 'taxPersonalSum', className: 'text-center', width: 180, type: 'currency' }, { title: '代缴个税(元)', render: 'recordedTaxPersonal', className: 'text-center', width: 180 },
{ title: '入账金额(元)', index: 'waitRecordedAmount', className: 'text-right', width: 180, type: 'currency' }, { title: '入账金额(元)', render: 'ongoingRecordedAmount', className: 'text-center', width: 180 },
{ title: '代缴中个税(元)', render: 'waitRecordedTaxPersonal', className: 'text-center', width: 180 },
{ title: '调整金额(元)', render: 'changeAmount', className: 'text-center', width: 180 },
{ title: '待入账金额(元)', render: 'waitRecordedAmount', className: 'text-right', width: 180 },
{ {
title: '操作', className: 'text-center', width: 300, title: '操作',
className: 'text-center',
width: 150,
fixed: 'right',
buttons: [ buttons: [
{ {
text: '查看入账记录', text: '查看入账记录',
acl: { ability: ['AN-RECORDED-DETAIL-viewRecord'] }, acl: { ability: ['AN-RECORDED-DETAIL-viewRecord'] },
click: (_record) => this.viewBookedRecord(_record) click: _record => this.viewBookedRecord(_record)
}, },
{ {
text: '查看账单明细', text: '查看账单明细',
acl: { ability: ['AN-RECORDED-DETAIL-viewBill'] }, acl: { ability: ['AN-RECORDED-DETAIL-viewBill'] },
click: (_record) => this.viewAccountDetail(_record) click: _record => this.viewAccountDetail(_record)
}, },
{
text: '调整待入账金额',
acl: { ability: [''] },
click: _record => this.changeStalyAccount(_record)
}
] ]
}, }
]; ];
} }
@ -110,26 +127,60 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
{ title: '账单月份', render: 'month', className: 'text-center', width: '40%' }, { title: '账单月份', render: 'month', className: 'text-center', width: '40%' },
{ title: '返佣金额(元)', render: 'profitAmountSum', className: 'text-center', width: '40%' }, { title: '返佣金额(元)', render: 'profitAmountSum', className: 'text-center', width: '40%' },
{ {
title: '操作', className: 'text-center', width: '20%', buttons: [ title: '操作',
className: 'text-center',
width: '20%',
buttons: [
{ {
text: '订单明细', text: '订单明细',
click: (_record) => window.open(location.origin + `#/partner/rebate/record?ltdId=${_record?.ltdId}`) click: _record => window.open(location.origin + `#/partner/rebate/record?ltdId=${_record?.ltdId}`)
} }
] ]
}, }
] ];
}
initSFNew() {
this.schemaView = {
properties: {
smsVerifyCode: {
title: '调整金额',
type: 'string',
ui: {
widget: 'custom',
placeholder: '请输入金额',
errors: {
},
},
},
remark: {
title: '备注',
type: 'string',
maxLength: 50,
ui: {
placeholder: '请输入备注',
widget: 'textarea',
autosize: { minRows: 3, maxRows: 6 }
}
}
},
required: ['phone', 'remark'],
};
this.uiView = {
'*': {
spanLabelFixed: 100,
grid: { span: 24 },
},
};
} }
resetSF() { resetSF() {
this.sf.reset(); this.sf.reset();
setTimeout(() => { setTimeout(() => {
this.st.reset(); this.st.reset();
}) });
} }
search() { search() {
this.st.load(1); this.st.load(1);
} }
@ -142,16 +193,15 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
if (res) { if (res) {
this.billDetailList = res; this.billDetailList = res;
} }
}) });
} }
export() {}
export() { }
/** /**
* 查看入账记录 * 查看入账记录
* @param record 当前行 * @param record 当前行
*/ */
viewBookedRecord(record: any) { viewBookedRecord(record: any) {
window.open(location.origin + `#/partner/recorded/record?ltdId=${record?.ltdId}`); window.open(location.origin + `#/partner/recorded/record?ltdId=${record?.ltdId}`);
} }
@ -167,22 +217,34 @@ export class PartnerAccountManagementRecordedDetailComponent implements OnInit {
this.detailRecord = record; this.detailRecord = record;
this.getBillDetail(record?.ltdId); this.getBillDetail(record?.ltdId);
} }
/**
* 调整待入账金额
* @param record 当前行
*/
changeStalyAccount(record: any) {
this.changeAccount = true;
this.initSFNew();
this.changeRecord = record;
// this.getBillDetail(record?.ltdId);
}
getInvoiceSummary() { getInvoiceSummary() {
this.service.request(this.service.$api_get_invoice_summary, { partnerId: this.roleId }).subscribe(res => { this.service.request(this.service.$api_get_invoice_summary, { partnerId: this.roleId }).subscribe(res => {
if (res) { if (res) {
this.summaryObj = res; this.summaryObj = res;
} }
}) });
} }
handleCancel() { handleCancel() {
this.showBillDetail = false; this.showBillDetail = false;
this.detailRecord = {}; this.detailRecord = {};
}
handleCancelA() {
this.changeAccount = false;
this.changeRecord = {};
} }
goBack() { goBack() {
window.history.go(-1); window.history.go(-1);
} }
} }

View File

@ -1,10 +1,20 @@
/*
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2022-04-21 13:49:22
* @LastEditors : Shiming
* @LastEditTime : 2022-05-11 19:56:49
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\account-management\\services\\account-managemant.service.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
import { Injectable, Injector } from '@angular/core'; import { Injectable, Injector } from '@angular/core';
import { BaseService } from '@shared'; import { BaseService, ShipperBaseService } from '@shared';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
export class AccountManagemantService extends BaseService { export class AccountManagemantService extends ShipperBaseService {
$api_get_account_management_page = `/api/bpc/accountBalancePartner/getPartnerAccountBalanceByOperator`; // 账户管理 $api_get_account_management_page = `/api/bpc/accountBalancePartner/getPartnerAccountBalanceByOperator`; // 账户管理
$api_get_virtual_detail_page = `/api/bpc/accountBalancePartner/getPartnerAccountBalanceInfoByOperator`;//虚拟账户明细 $api_get_virtual_detail_page = `/api/bpc/accountBalancePartner/getPartnerAccountBalanceInfoByOperator`;//虚拟账户明细

View File

@ -42,27 +42,34 @@ export class ParterChannelSalesEditComponent implements OnInit {
ngOnInit(): void { ngOnInit(): void {
this.initSF(); this.initSF();
console.log(this.sts);
if (!this.sts) { if (!this.sts) {
this.service.request(this.service.$api_getChannelSalesInfo, { id: this.i?.id }).subscribe(res => { this.service.request(this.service.$api_getChannelSalesInfo, { id: this.i?.id }).subscribe(res => {
const List: any = []; const List: any = [];
const List3: any = [];
if (res) { if (res) {
let value1 = Object.assign({}, res); let value1 = Object.assign({}, res);
delete value1.employeeVO; delete value1.employeeVO;
let value = res.employeeVO; let value = res.employeeVO;
List.push({ label: value.empName + '/' + value.empNo, value: value.empNo }); List.push({ label: value.empName + '/' + value.empNo, value: value.empNo });
setTimeout(() => { res.roleInfoVOList.forEach((element: any) => {
if (this.sf) { List3.push(element.id);
console.log(this.sf.getProperty('/employeeVO')!.schema); });
setTimeout(() => {
this.sf.getProperty('/employeeVO')!.schema.enum = List; if (this.sf) {
this.sf.getProperty('/employeeVO')!.widget.reset(List); this.sf.getProperty('/employeeVO')!.schema.enum = List;
} this.sf.getProperty('/employeeVO')!.widget.reset(List);
if (value.empNo) { }
this.sf.setValue('/employeeVO', value.empNo); if (value.empNo) {
this.currentOAItem = value; this.sf.setValue('/employeeVO', value.empNo);
this.sf.setValue('/phoneNumber', res.telephone); console.log(List3);
}
}) this.sf.setValue('/roleIds', List3);
this.currentOAItem = value;
this.sf.setValue('/phoneNumber', res.telephone);
}
});
this.record = value1; this.record = value1;
} }
}); });
@ -88,6 +95,7 @@ export class ParterChannelSalesEditComponent implements OnInit {
title: '手机号', title: '手机号',
type: 'string', type: 'string',
maxLength: 11, maxLength: 11,
readOnly: !this.sts,
ui: { ui: {
placeholder: '请输入' placeholder: '请输入'
} }
@ -114,6 +122,7 @@ export class ParterChannelSalesEditComponent implements OnInit {
title: '关联OA员工', title: '关联OA员工',
type: 'string', type: 'string',
maxLength: 30, maxLength: 30,
readOnly: !this.sts,
ui: { ui: {
widget: 'select', widget: 'select',
// serverSearch: true, // serverSearch: true,
@ -203,14 +212,14 @@ export class ParterChannelSalesEditComponent implements OnInit {
close() { close() {
this.modalRef.destroy(); this.modalRef.destroy();
} }
save() { save() {
this.sf.validator({ emitError: true }); this.sf.validator({ emitError: true });
if (!this.sf.valid) return; if (!this.sf.valid) return;
let params: any= { let params: any = {
...this.sf?.value, ...this.sf?.value
} };
delete params.telephone delete params.telephone;
this.service.request(this.service.$api_save, { ...params, employeeVO: this.currentOAItem }).subscribe(res => { this.service.request(this.service.$api_save, { ...params, employeeVO: this.currentOAItem }).subscribe(res => {
if (res) { if (res) {
this.service.msgSrv.success(res.msg); this.service.msgSrv.success(res.msg);

View File

@ -247,11 +247,11 @@ export class TaxManagementIndividualCollectComponent extends BasicTableComponent
uploadSetting() { uploadSetting() {
let params: any; let params: any;
if (this.selectedRows.length === 0) { if (this.selectedRows.length === 0) {
params ={} params =[]
} else{ } else{
params ={ ids: []} params =[]
this.selectedRows.forEach(item => { this.selectedRows.forEach(item => {
params.ids.push(item.id); params.push(item.id);
}); });
} }
this.service.request(this.service.$api_get_updateData,params).subscribe((res: any) => { this.service.request(this.service.$api_get_updateData,params).subscribe((res: any) => {
@ -268,6 +268,6 @@ export class TaxManagementIndividualCollectComponent extends BasicTableComponent
// 导出 // 导出
exprot() { exprot() {
this.service.exportStart({ ...this.sfValue, pageSize: -1 }, this.service.$api_taxSummary_export); this.service.exportStart({ ...this.reqParams, pageSize: -1 }, this.service.$api_taxSummary_export);
} }
} }

View File

@ -383,11 +383,11 @@ export class TaxManagementIndividualDeclareComponent extends BasicTableComponent
resetData() { resetData() {
let params: any; let params: any;
if (this.selectedRows.length === 0) { if (this.selectedRows.length === 0) {
params ={} params =[]
} else{ } else{
params ={ ids: []} params =[]
this.selectedRows.forEach(item => { this.selectedRows.forEach(item => {
params.ids.push(item.id); params.push(item.id);
}); });
} }
this.service.request(this.service.$api_get_taxDeclaration_updateAll, params).subscribe((res: any) => { this.service.request(this.service.$api_get_taxDeclaration_updateAll, params).subscribe((res: any) => {
@ -431,7 +431,7 @@ export class TaxManagementIndividualDeclareComponent extends BasicTableComponent
// 导出 // 导出
exprot() { exprot() {
this.service.exportStart({ ...this.sfValue, pageSize: -1 }, this.service.$api_taxDeclaration_export); this.service.exportStart({ ...this.reqParams, pageSize: -1 }, this.service.$api_taxDeclaration_export);
} }
openWainingModal(content: string, title = '提示') { openWainingModal(content: string, title = '提示') {

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-05-06 15:31:19 * @Date : 2022-05-06 15:31:19
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-05-11 14:54:00 * @LastEditTime : 2022-05-11 21:04:42
* @FilePath : \\tms-obc-web\\src\\app\\routes\\tax-management\\components\\individual-income\\individual-income.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\tax-management\\components\\individual-income\\individual-income.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
@ -73,11 +73,17 @@
</div> </div>
</ng-template> </ng-template>
<nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate" (nzOnOk)="handleOK()" <nz-modal [(nzVisible)]="isVisible" [nzWidth]="600" [nzFooter]="nzModalFooterEvaluate"
(nzOnCancel)="handleCancel()"> (nzOnCancel)="handleCancel()">
<ng-container *nzModalContent> <ng-container *nzModalContent>
<div> 司机姓名:张三/13812345678 </div> <div *ngIf="oneStatus">
<div> 司机姓名:{{driverRecord?.xm}}/{{driverRecord.lxdh}} </div>
<div> 是否确认要将该司机的起征点同步调整为超过15万 </div> <div> 是否确认要将该司机的起征点同步调整为超过15万 </div>
</div>
<div *ngIf="!oneStatus">
<div> 已选择{{selectedRows.length}}个司机 </div>
<div> 是否确认要将该司机的起征点同步调整为超过15万 </div>
</div>
</ng-container> </ng-container>
<ng-template #nzModalFooterEvaluate> <ng-template #nzModalFooterEvaluate>
<button nz-button nzType="default" (click)="handleCancel()">取消</button> <button nz-button nzType="default" (click)="handleCancel()">取消</button>

View File

@ -23,8 +23,10 @@ export class TaxManagementIndividualIncomeComponent extends BasicTableComponent
]; ];
selectedIndex = '0'; //选择的项目 selectedIndex = '0'; //选择的项目
isVisible: boolean = false; isVisible: boolean = false;
oneStatus: boolean = false;
selectedRows: any[] = []; selectedRows: any[] = [];
driverRecord!: any;
constructor(public service: TaxManagementService, public searchDrawerService: SearchDrawerService) { constructor(public service: TaxManagementService, public searchDrawerService: SearchDrawerService) {
super(searchDrawerService); super(searchDrawerService);
@ -287,11 +289,20 @@ export class TaxManagementIndividualIncomeComponent extends BasicTableComponent
* @param record 记录实例 * @param record 记录实例
*/ */
resetData() { resetData() {
// if (this.selectedRows.length === 0) { if (this.selectedRows.length === 0) {
// this.openWainingModal('请选择需要更新的数据!'); this.service.msgSrv.error('请选择明细!');
// return; return;
// } }
// this.isVisible = true; if(this.selectedRows.length === 1) {
console.log(this.selectedRows);
this.oneStatus = true
this.driverRecord = this.selectedRows[0]
} else {
this.oneStatus = false
}
this.isVisible = true;
} }
selectChange(item: any) { selectChange(item: any) {
@ -328,11 +339,11 @@ export class TaxManagementIndividualIncomeComponent extends BasicTableComponent
uploadSetting() { uploadSetting() {
let params: any; let params: any;
if (this.selectedRows.length === 0) { if (this.selectedRows.length === 0) {
params ={} params =[]
} else{ } else{
params ={ ids: []} params =[]
this.selectedRows.forEach(item => { this.selectedRows.forEach(item => {
params.ids.push(item.id); params.push(item.id);
}); });
} }
this.service.request(this.service.$api_update_individual_income_page, params).subscribe((res: any) => { this.service.request(this.service.$api_update_individual_income_page, params).subscribe((res: any) => {
@ -349,10 +360,21 @@ export class TaxManagementIndividualIncomeComponent extends BasicTableComponent
// 导出 // 导出
exprot() { exprot() {
this.service.exportStart({ ...this.sfValue, pageSize: -1 }, this.service.$api_taxIncome_export); this.service.exportStart({ ...this.sfValue,declareStatus: this.selectedIndex, pageSize: -1 }, this.service.$api_taxIncome_export);
} }
handleOK() {} handleOK() {
let params: any = [];
if (this.selectedRows.length !== 0) {
this.selectedRows.forEach(item => {
params.push(item.id);
});
}
this.service.request(this.service.$api_fixThreshold, params).subscribe((res) => {
console.log(res);
})
}
handleCancel() { handleCancel() {
this.isVisible = false; this.isVisible = false;
} }

View File

@ -312,7 +312,7 @@ export class TaxManagementInvoiceReportingComponent extends BasicTableComponent
* 异步导出 * 异步导出
*/ */
export() { export() {
this.service.exportStart(this.reqParams, this.service.$api_invoiceUpload_export); this.service.exportStart({...this.reqParams, pageSize: -1 }, this.service.$api_invoiceUpload_export);
} }
openWainingModal(content: string, title = '提示') { openWainingModal(content: string, title = '提示') {

View File

@ -95,6 +95,9 @@
<ng-template st-row="orderAmount" let-item let-index="index"> <ng-template st-row="orderAmount" let-item let-index="index">
<div class="text-right">{{ item?.orderAmount | currency }}</div> <div class="text-right">{{ item?.orderAmount | currency }}</div>
</ng-template> </ng-template>
<ng-template st-row="wayAmount" let-item let-index="index">
<div class="text-right">{{ item?.wayAmount | currency }}</div>
</ng-template>
</st> </st>
</nz-card> </nz-card>
<ng-template #extraTemplate> <ng-template #extraTemplate>

View File

@ -239,7 +239,7 @@ export class TaxManagementOrderReportingComponent extends BasicTableComponent im
{ title: '司机身份证号', index: 'driverCertificateNumber', className: 'text-center', width: '180px' }, { title: '司机身份证号', index: 'driverCertificateNumber', className: 'text-center', width: '180px' },
{ title: '车牌号', index: 'carNo', className: 'text-center', width: '100px' }, { title: '车牌号', index: 'carNo', className: 'text-center', width: '100px' },
{ title: '货物信息', render: 'goodsName', className: 'text-center', width: '200px' }, { title: '货物信息', render: 'goodsName', className: 'text-center', width: '200px' },
{ title: '运费金额', render: 'orderAmount', className: 'text-center', width: '100px' }, { title: '运费金额', render: 'wayAmount', className: 'text-center', width: '100px' },
{ title: '装卸方式', index: 'loadingUnloadWay', className: 'text-center', width: '180px' }, { title: '装卸方式', index: 'loadingUnloadWay', className: 'text-center', width: '180px' },
{ title: '支付方式', index: 'payMent', className: 'text-center', width: '150px' }, { title: '支付方式', index: 'payMent', className: 'text-center', width: '150px' },
{ title: '支付账号', index: 'paymentAccount', className: 'text-center', width: '200px' }, { title: '支付账号', index: 'paymentAccount', className: 'text-center', width: '200px' },
@ -467,7 +467,7 @@ export class TaxManagementOrderReportingComponent extends BasicTableComponent im
* 异步导出 * 异步导出
*/ */
export() { export() {
this.service.exportStart(this.sf?.value, this.service.$api_async_export_order_reporting_list); this.service.exportStart({...this.reqParams, pageSize: -1} ,this.service.$api_async_export_order_reporting_list);
} }
openWainingModal(content: string, title = '提示') { openWainingModal(content: string, title = '提示') {

View File

@ -68,6 +68,8 @@ export class TaxManagementService extends ShipperBaseService {
$api_taxDeclaration_export = '/api/sdc/taxDeclaration/asyncExport'; $api_taxDeclaration_export = '/api/sdc/taxDeclaration/asyncExport';
// 发票上传撤回 // 发票上传撤回
$api_invoiceUpload_withdraw = '/api/sdc/invoiceUploadInfo/withdraw'; $api_invoiceUpload_withdraw = '/api/sdc/invoiceUploadInfo/withdraw';
// 修改起征点
$api_fixThreshold = '/api/sdc/taxIncome/fixThreshold';
constructor(public injector: Injector) { constructor(public injector: Injector) {
super(injector); super(injector);
} }