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

This commit is contained in:
Taric Xin
2022-04-22 15:35:14 +08:00
14 changed files with 452 additions and 249 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-04-22 10:05:01 * @LastEditTime : 2022-04-22 14:01:00
* @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.
*/ */

View File

@ -4,27 +4,33 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2021-12-15 13:17:42 * @Date : 2021-12-15 13:17:42
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-04-21 14:41:44 * @LastEditTime : 2022-04-22 11:03:26
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\audit\\voucher-view\\voucher-view.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\modal\\audit\\voucher-view\\voucher-view.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
<div class="sfBox" [ngClass]="Status !== 1 ? 'hideBtn' : ''"> <div class="sfBox" [ngClass]="Status !== 1 ? 'hideBtn' : ''">
<sf #sf mode="edit" [schema]="schema" [ui]="ui" [formData]="formData" button="none"> <sf #sf mode="edit" [schema]="schema" [ui]="ui" [formData]="formData" button="none">
<ng-template sf-template="no0" let-me let-ui="ui" let-schema="schema"> <ng-template sf-template="no0" let-me let-ui="ui" let-schema="schema">
<div style="color: #1890FF" > <div style="color: #1890ff">
<div (click)="openlaod(1)">电子装货单 <span style="color: red;"> <div (click)="openlaod(1)"
>电子装货单
<!-- <span style="color: red;">
{{datas?.loadingElectronicsLadingBillFilePath ? '已签署' :'未签署'}} {{datas?.loadingElectronicsLadingBillFilePath ? '已签署' :'未签署'}}
</span></div> </span> -->
</div> </div>
</ng-template> </div>
<ng-template sf-template="no6" let-me let-ui="ui" let-schema="schema"> </ng-template>
<div style="color: #1890FF" (click)="openlaod(2)">电子卸货单<span style="color: red;"> {{datas?.unloadingElectronicsLadingBillFilePath ? '已签署' :'未签署'}}</span></div> <ng-template sf-template="no6" let-me let-ui="ui" let-schema="schema">
</ng-template> <div style="color: #1890ff" (click)="openlaod(2)"
</sf> >电子卸货单
<!-- <span style="color: red;"> {{datas?.unloadingElectronicsLadingBillFilePath ? '已签署' :'未签署'}}</span> -->
</div>
</ng-template>
</sf>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button nz-button type="button" *ngIf="Status === 1" (click)="close()">关闭</button> <button nz-button type="button" *ngIf="Status === 1" (click)="close()">关闭</button>
<button nz-button type="submit" *ngIf="Status === 1" nzType="primary" (click)="save(sf.value)" [nzLoading]="http.loading">确定</button> <button nz-button type="submit" *ngIf="Status === 1" nzType="primary" (click)="save(sf.value)" [nzLoading]="http.loading">确定</button>
<button nz-button type="submit" nzType="primary" *ngIf="Status == 2" (click)="sure()" [nzLoading]="http.loading">生成电子单据</button> <button nz-button type="submit" nzType="primary" *ngIf="Status == 2" (click)="sure()" [nzLoading]="http.loading">生成电子单据</button>
</div> </div>

View File

@ -575,99 +575,116 @@ export class orderManagementVoucherViewComponent implements OnInit {
} }
openlaod(value: any) { openlaod(value: any) {
if (value === 1) { if (value === 1) {
// 逻辑: 先判断电子提货单是否已生成,文件为空则触发签署文件,再查询是否签署成功,成功则退出,刷新页面,再次点击为预览 this.service.request(this.service.$api_getBillTakeGoods, {id:this.datas?.id}).subscribe(res => {
let time = 10; if (res) {
setInterval(function () { console.log(res);
time -= 1; window.open(res?.contractFilePath)
}, 1000); }
const modal = this.modalService.success({
nzTitle: '电子装货单签署中!',
nzContent: `
请等待${time}秒后自动关闭
`
}); });
if (!this.datas?.loadingElectronicsLadingBillFilePath) {
this.service.request(this.service.$api_createBillTakeGoods, [this.datas?.id]).subscribe(res => {
if (res) {
switch (res[0]?.esignFlowStatus) {
case 1:
case '1':
setTimeout(() => {
this.service.request(this.service.$api_getBillTakeEsignFile, [this.datas?.id]).subscribe(res => {
if (res[0]?.esignFlowStatus == '2') {
this.service.msgSrv.success('电子装货单已生效!');
this.modal.destroy(true);
}
});
modal.destroy();
}, 10000);
return;
case 2:
modal.destroy();
return;
case '13':
case 13:
this.service.msgSrv.error('签署异常!');
modal.destroy();
return;
}
}
});
} else {
const a = document.createElement('a');
a.href = this.datas?.loadingElectronicsLadingBillFilePath;
document.body.appendChild(a);
a.click(); //点击下载
document.body.removeChild(a); //下载完成移除元素
}
} else { } else {
// 逻辑: 先判断电子提货单是否已生成,文件为空则触发签署文件,再查询是否签署成功,成功则退出,刷新页面,再次点击为预览 this.service.request(this.service.$api_getBillDischargeGoods, {id:this.datas?.id}).subscribe(res => {
let time = 10; if (res) {
setInterval(function () { console.log(res);
time -= 1; window.open(res?.contractFilePath)
}, 1000); //反复执行函数本身 }
const modal = this.modalService.success({
nzTitle: '电子卸货单签署中!',
nzContent: `
请等待${time}秒后自动关闭
`
}); });
if (!this.datas?.unloadingElectronicsLadingBillFilePath) {
this.service.request(this.service.$api_createBillDischargeGoods, [this.datas?.id]).subscribe(res => {
if (res) {
switch (res[0]?.esignFlowStatus) {
case 1:
case '1':
setTimeout(() => {
this.service.request(this.service.$api_getBillDischargeEsignFile, [this.datas?.id]).subscribe(res => {
if (res[0]?.esignFlowStatus == '2') {
this.service.msgSrv.success('电子卸货单已生效!');
this.modal.destroy(true);
}
});
modal.destroy();
}, 10000);
return;
case 2:
modal.destroy();
return;
case '13':
case 13:
this.service.msgSrv.error('签署异常!');
modal.destroy();
return;
}
}
});
} else {
const a = document.createElement('a');
a.href = this.datas?.unloadingElectronicsLadingBillFilePath;
document.body.appendChild(a);
a.click(); //点击下载
document.body.removeChild(a); //下载完成移除元素
}
}
} }
}
// openlaod2(value: any) {
// if (value === 1) {
// // 逻辑: 先判断电子提货单是否已生成,文件为空则触发签署文件,再查询是否签署成功,成功则退出,刷新页面,再次点击为预览
// let time = 10;
// setInterval(function () {
// time -= 1;
// }, 1000);
// const modal = this.modalService.success({
// nzTitle: '电子装货单签署中!',
// nzContent: `
// 请等待${time}秒后自动关闭
// `
// });
// if (!this.datas?.loadingElectronicsLadingBillFilePath) {
// this.service.request(this.service.$api_createBillTakeGoods, [this.datas?.id]).subscribe(res => {
// if (res) {
// switch (res[0]?.esignFlowStatus) {
// case 1:
// case '1':
// setTimeout(() => {
// this.service.request(this.service.$api_getBillTakeEsignFile, [this.datas?.id]).subscribe(res => {
// if (res[0]?.esignFlowStatus == '2') {
// this.service.msgSrv.success('电子装货单已生效!');
// this.modal.destroy(true);
// }
// });
// modal.destroy();
// }, 10000);
// return;
// case 2:
// modal.destroy();
// return;
// case '13':
// case 13:
// this.service.msgSrv.error('签署异常!');
// modal.destroy();
// return;
// }
// }
// });
// } else {
// const a = document.createElement('a');
// a.href = this.datas?.loadingElectronicsLadingBillFilePath;
// document.body.appendChild(a);
// a.click(); //点击下载
// document.body.removeChild(a); //下载完成移除元素
// }
// } else {
// // 逻辑: 先判断电子提货单是否已生成,文件为空则触发签署文件,再查询是否签署成功,成功则退出,刷新页面,再次点击为预览
// let time = 10;
// setInterval(function () {
// time -= 1;
// }, 1000); //反复执行函数本身
// const modal = this.modalService.success({
// nzTitle: '电子卸货单签署中!',
// nzContent: `
// 请等待${time}秒后自动关闭
// `
// });
// if (!this.datas?.unloadingElectronicsLadingBillFilePath) {
// this.service.request(this.service.$api_createBillDischargeGoods, [this.datas?.id]).subscribe(res => {
// if (res) {
// switch (res[0]?.esignFlowStatus) {
// case 1:
// case '1':
// setTimeout(() => {
// this.service.request(this.service.$api_getBillDischargeEsignFile, [this.datas?.id]).subscribe(res => {
// if (res[0]?.esignFlowStatus == '2') {
// this.service.msgSrv.success('电子卸货单已生效!');
// this.modal.destroy(true);
// }
// });
// modal.destroy();
// }, 10000);
// return;
// case 2:
// modal.destroy();
// return;
// case '13':
// case 13:
// this.service.msgSrv.error('签署异常!');
// modal.destroy();
// return;
// }
// }
// });
// } else {
// const a = document.createElement('a');
// a.href = this.datas?.unloadingElectronicsLadingBillFilePath;
// document.body.appendChild(a);
// a.click(); //点击下载
// document.body.removeChild(a); //下载完成移除元素
// }
// }
// }
} }

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2021-12-03 15:31:52 * @Date : 2021-12-03 15:31:52
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-04-19 15:16:37 * @LastEditTime : 2022-04-22 10:54:29
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\services\\order-management.service.ts
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
*/ */
@ -209,11 +209,14 @@ export class OrderManagementService extends ShipperBaseService {
// 查看补充协议 // 查看补充协议
public $api_getSupplementaryAgreement = `/api/sdc/billShipper/getSupplementaryAgreement`; public $api_getSupplementaryAgreement = `/api/sdc/billShipper/getSupplementaryAgreement`;
// 获取电子提货单签章附件 // 获取电子提货单签章附件
public $api_getBillTakeEsignFile = `/api/sdc/billOperate/getBillTakeEsignFile`; public $api_getBillTakeEsignFile = `/api/sdc/billOperate/getBillTakeEsignFile`;
// 获取电子卸货单签章附件 // 获取电子卸货单签章附件
public $api_getBillDischargeEsignFile = `/api/sdc/billOperate/getBillDischargeEsignFile`; public $api_getBillDischargeEsignFile = `/api/sdc/billOperate/getBillDischargeEsignFile`;
// 预览卸货单
public $api_getBillDischargeGoods = `/api/sdc/billOperate/getBillDischargeGoods`;
// 预览提货单
public $api_getBillTakeGoods = `/api/sdc/billOperate/getBillTakeGoods`;
// // 生成卸货单 // // 生成卸货单
// public $api_createBillDischargeGoods = `/api/sdc/billOperate/createBillDischargeGoods`; // public $api_createBillDischargeGoods = `/api/sdc/billOperate/createBillDischargeGoods`;

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-03-28 14:53:52 * @Date : 2022-03-28 14:53:52
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-03-28 17:03:21 * @LastEditTime : 2022-04-22 10:30:33
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add-partnerlist\\add-partnerlist.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add-partnerlist\\add-partnerlist.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
@ -25,6 +25,6 @@
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false" [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [loading]="false"
[scroll]="{ x: '1000' }"> [scroll]="{ x: '1000' }">
</st> </st>
<button *ngIf="selectedIndex===0" (click)="batchReply()" nz-button nzType="primary" acl <button style="float: right;" *ngIf="selectedIndex===0" (click)="batchReply()" nz-button nzType="primary" acl
[acl-ability]="['AbnormalAppear-batchReply']">批量回复</button> [acl-ability]="['AbnormalAppear-batchReply']">批量选择</button>
</nz-card> </nz-card>

View File

@ -128,7 +128,7 @@ export class ParterRebateManageMentAddPartnerListComponent implements OnInit {
// 回复操作 // 回复操作
add(item: any) { add(item: any) {
console.log(item); console.log(item);
this.modals.destroy(item); this.modals.destroy([item]);
} }
// 批量回复操作 // 批量回复操作
batchReply() { batchReply() {

View File

@ -4,38 +4,44 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-02-24 20:09:49 * @Date : 2022-02-24 20:09:49
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-03-29 10:47:02 * @LastEditTime : 2022-04-22 14:29:23
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
<page-header-wrapper [title]="'新增'"> </page-header-wrapper> <page-header-wrapper [title]="'新增'"> </page-header-wrapper>
<nz-card> <nz-card>
<div nz-row>
<!-- 数据列表 --> <!-- 数据列表 -->
<sv-container col="1"> <sv-container col="1">
&nbsp;&nbsp;<sv label="配置名称"> <input style="max-width: 400px;" nz-input placeholder="请输入" [(ngModel)]="configName" /></sv> <sv label="配置名称"> <input style="max-width: 400px;" nz-input placeholder="请输入" [(ngModel)]="configName" /></sv>
<sv-title>固定结算费率配置</sv-title> <sv-title>固定结算费率配置</sv-title>
&nbsp;&nbsp;<sv label="固定结算费率"> <nz-input-number [(ngModel)]="accountingRate" [nzPrecision]="precision" nzPlaceHolder="请输入"></nz-input-number>&nbsp;%</sv>
<sv label="固定结算费率"> <nz-input-number [(ngModel)]="accountingRate" [nzPrecision]="precision" nzPlaceHolder="请输入"></nz-input-number>&nbsp;%</sv>
<sv-title>业务量和管理费比例配置</sv-title> <sv-title>业务量和管理费比例配置</sv-title>
&nbsp;&nbsp;<sv label="选择配置类型">
<sv label="选择配置类型">
<nz-radio-group [(ngModel)]="configType"> <nz-radio-group [(ngModel)]="configType">
<label nz-radio nzValue="1">按全部等级配置</label> <label nz-radio nzValue="1">按全部等级配置</label>
<label nz-radio nzValue="2">按不同等级配置</label> <label nz-radio nzValue="2">按不同等级配置</label>
</nz-radio-group> </nz-radio-group>
</sv> </sv>
<sv col="1">
&nbsp;&nbsp; <sv col="1" >
<app-rebate-table #table [(data)]='tabelData'></app-rebate-table> <div style='width: 850px'>
<app-rebate-table #table [(data)]='tabelData'></app-rebate-table>
</div>
</sv> </sv>
<sv-title>关联合伙人配置</sv-title> <sv-title>关联合伙人配置</sv-title>
&nbsp;&nbsp;<sv label="合伙人选择">
<nz-select [(ngModel)]="partnerType" style="max-width: 400px; min-width: 200px;"> <sv label="合伙人选择">
<nz-select [(ngModel)]="partnerType" (ngModelChange)="changePartner(partnerType)" style="max-width: 400px; min-width: 200px;">
<nz-option nzValue="1" nzLabel="全部合伙人"></nz-option> <nz-option nzValue="1" nzLabel="全部合伙人"></nz-option>
<nz-option nzValue="2" nzLabel="新注册合伙人"></nz-option> <nz-option nzValue="2" nzLabel="新注册合伙人"></nz-option>
<nz-option nzValue="3" nzLabel="自定义合伙人"></nz-option> <nz-option nzValue="3" nzLabel="自定义合伙人"></nz-option>
</nz-select> </nz-select>
&nbsp;&nbsp;<span style="color: #0000FF;" (click)="add()">添加</span> <span *ngIf="addStatus" style="padding-left: 15px; color: #0000FF;" (click)="add()">添加</span>
<st *ngIf="partnerPeopleList?.length > 0" #st [data]="partnerPeopleList" [columns]="columns" <st *ngIf="partnerPeopleList?.length > 0" #st [data]="partnerPeopleList" [columns]="columns"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' } }" [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' } }"
[res]="{ reName: { list: 'data.records', total: 'data.total' } }" [res]="{ reName: { list: 'data.records', total: 'data.total' } }"
@ -43,7 +49,8 @@
[scroll]="{ x: '1000' }"> [scroll]="{ x: '1000' }">
</st> </st>
</sv> </sv>
&nbsp;&nbsp;<sv label="优先级" col="1">
<sv label="优先级" col="1">
<nz-select [(ngModel)]="priority" style="max-width: 400px; min-width: 200px;"> <nz-select [(ngModel)]="priority" style="max-width: 400px; min-width: 200px;">
<nz-option nzValue=1 nzLabel="1">1</nz-option> <nz-option nzValue=1 nzLabel="1">1</nz-option>
<nz-option nzValue=2 nzLabel="2">2</nz-option> <nz-option nzValue=2 nzLabel="2">2</nz-option>
@ -52,19 +59,22 @@
<nz-option nzValue=5 nzLabel="5">5</nz-option> <nz-option nzValue=5 nzLabel="5">5</nz-option>
</nz-select> </nz-select>
</sv> </sv>
&nbsp;&nbsp;<sv label="规则说明" col="1">
<sf #sf mode="edit" [schema]="schema1" [ui]="{ '*': { spanLabelFixed: 10, grid: { span: 16 }} }" <sv label="规则说明" col="1">
<sf #sf mode="edit" [schema]="schema1" [ui]="{ '*': { spanLabelFixed: 10, grid: { span: 12 }} }"
button="none"> </sf> button="none"> </sf>
</sv> </sv>
&nbsp;&nbsp;<sv label="备注" col="1">
<sv label="备注" col="1" style="margin-top: 16px;">
<textarea style="max-width: 400px; min-width: 200px;" rows="4" nz-input [(ngModel)]="remarke"></textarea> <textarea style="max-width: 400px; min-width: 200px;" rows="4" nz-input [(ngModel)]="remarke"></textarea>
</sv> </sv>
</sv-container> </sv-container>
<div class="align-center" style="margin-top: 15px;"> <div class="align-center" style="margin-top: 15px;">
<button nz-button nzType="primary" (click)="goBack()">取消</button> <button nz-button nzType="primary" (click)="goBack()">取消</button>
<button nz-button nzType="primary" style="margin-left: 48px" (click)="save()" <button nz-button nzType="primary" style="margin-left: 48px" (click)="save()"
acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交</button acl [acl-ability]="['SUPPLY-VEHICLE-AMEND-submitChange']">提交</button
> >
</div> </div>
</div>
</nz-card> </nz-card>

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-03-21 09:26:45 * @Date : 2022-03-21 09:26:45
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-03-29 10:53:39 * @LastEditTime : 2022-04-22 15:01:43
* @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.ts * @FilePath : \\tms-obc-web\\src\\app\\routes\\partner\\rebate-management\\components\\rebate-setting\\add\\add.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
*/ */
@ -26,12 +26,13 @@ import { inRange } from '@delon/util';
export class ParterRebateManageMentAddComponent implements OnInit { export class ParterRebateManageMentAddComponent implements OnInit {
@ViewChild('table') table!: any; @ViewChild('table') table!: any;
tabelData: any; tabelData: any;
addStatus: boolean = false;
configName: string = ''; configName: string = '';
partnerType: string = ''; partnerType: string = '';
remarke: string = ''; remarke: string = '';
accountingRate: Number = 0; accountingRate: Number = 0;
priority: string = ''; priority: string = '';
partnerPeopleList: any; partnerPeopleList: any = [];
configType = '1'; configType = '1';
precision = 2; precision = 2;
partnerId :Array<string> =[]; partnerId :Array<string> =[];
@ -78,7 +79,7 @@ export class ParterRebateManageMentAddComponent implements OnInit {
widget: 'tinymce', widget: 'tinymce',
loadingTip: 'loading...', loadingTip: 'loading...',
config: { config: {
height: 650 height: 500,
} }
}, },
// default: data?.agreementContent || '' // default: data?.agreementContent || ''
@ -87,6 +88,7 @@ export class ParterRebateManageMentAddComponent implements OnInit {
}; };
} }
ngOnInit() { ngOnInit() {
this.addStatus =false
this.initSF(); this.initSF();
} }
goBack() { goBack() {
@ -108,22 +110,25 @@ export class ParterRebateManageMentAddComponent implements OnInit {
modalRef.afterClose.subscribe((res: any) => { modalRef.afterClose.subscribe((res: any) => {
this.partnerId = []; this.partnerId = [];
if (res) { if (res) {
console.log(Array.isArray(res));
console.log(res);
if(Array.isArray(res)) { if(Array.isArray(res)) {
this.partnerPeopleList = res; console.log(res);
console.log(this.partnerPeopleList);
this.partnerPeopleList = this.partnerPeopleList.concat(res);
res.forEach((ele: any) => { res.forEach((ele: any) => {
this.partnerId.push(ele?.id); this.partnerId.push(ele?.id);
}) })
} else { } else {
this.partnerPeopleList = [res]; console.log(res);
this.partnerPeopleList = this.partnerPeopleList.concat(res);
this.partnerId.push(res?.id); this.partnerId.push(res?.id);
} }
} }
}); });
} }
delete(item: any) { delete(item: any) {
console.log(item); this.partnerPeopleList = this.partnerPeopleList.filter((d:any, i: any) => {
return item.id != d.id
});
} }
save () { save () {
const params = { const params = {
@ -146,4 +151,10 @@ export class ParterRebateManageMentAddComponent implements OnInit {
} }
}) })
} }
changePartner(value: any) {
console.log(value);
if(value) {
this.addStatus = true
}
}
} }

View File

@ -1,7 +1,7 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-12-20 17:18:43 * @Date: 2021-12-20 17:18:43
* @LastEditTime : 2022-04-20 16:48:26 * @LastEditTime : 2022-04-22 14:50:25
* @LastEditors : Shiming * @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\services\\system.service.ts * @FilePath : \\tms-obc-web\\src\\app\\routes\\sys-setting\\services\\system.service.ts
@ -64,7 +64,7 @@ export class SystemService extends BaseService {
$api_deletebatch_crmCustomer = '/api/mdc/cuc/crmCustomer/deletebatch'; $api_deletebatch_crmCustomer = '/api/mdc/cuc/crmCustomer/deletebatch';
// 获取某个应用的所有菜单 // 获取某个应用的所有菜单
$api_getAllFunctionInfoByAppId: string = '/api/mdc/cuc/functionInfo/getAllFunctionInfoByAppIdNoHide'; $api_getAllFunctionInfoByAppId: string = '/api/mdc/cuc/functionInfo/getAllFunctionInfoByAppId';
// 查询网络货运信息表 // 查询网络货运信息表
$api_networkTransporter_page = '/api/mdc/cuc/networkTransporter/list/page'; $api_networkTransporter_page = '/api/mdc/cuc/networkTransporter/list/page';

View File

@ -8,42 +8,30 @@
<ng-template #content> <ng-template #content>
<div class="user-info" nz-row> <div class="user-info" nz-row>
<div nz-col nzSpan="24" class="d-flex"> <div nz-col nzSpan="24" class="d-flex">
<img [src]="detailData?.enterpriseLogo" style="width: 120px;" /> <img [src]="detailData?.enterpriseLogo" style="width: 120px" />
<div style="flex: 1;"> <div style="flex: 1">
<div nz-row> <div nz-row>
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24"> <div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24">
<p style="margin-bottom: 0;">{{ detailData?.enterpriseName }}</p> <p style="margin-bottom: 0">{{ detailData?.enterpriseName }}</p>
</div> </div>
<div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24" class="text-right mb-sm"> <div nz-col [nzLg]="12" [nzSm]="24" [nzXs]="24" class="text-right mb-sm">
<label style="font-size: 18px;font-weight: 600;">{{statusE[detailData?.approvalStatus] }}</label> <label style="font-size: 18px; font-weight: 600">{{ statusE[detailData?.approvalStatus] }}</label>
</div> </div>
</div> </div>
<div nz-row> <div nz-row>
<div nz-col [nzLg]="8" [nzSm]="24" [nzXs]="24"> <div nz-col [nzLg]="8" [nzSm]="24" [nzXs]="24">
<p>{{ detailData?.unifiedSocialCreditCode }}</p> <p>{{ detailData?.unifiedSocialCreditCode }}</p>
</div> </div>
<div nz-col [nzLg]="8" [nzSm]="24" [nzXs]="24"> <div nz-col [nzLg]="8" [nzSm]="24" [nzXs]="24"> 申请时间:{{ detailData?.createTime }} </div>
申请时间:{{detailData?.createTime}} <div nz-col [nzXl]="8" [nzLg]="8" [nzSm]="24" [nzXs]="24" class="d-flex" style="justify-content: flex-end">
</div> <ng-container *ngIf="isEdit; else editButton">
<div nz-col [nzXl]="8" [nzLg]="8" [nzSm]="24" [nzXs]="24" class="d-flex" style="justify-content: flex-end;"> <button [nzLoading]="service.http.loading" nz-button (click)="reset()"> 取消 </button>
<ng-container *ngIf="isEdit;else editButton"> <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="save()"> 保存 </button>
<button [nzLoading]="service.http.loading" nz-button (click)="reset()">
取消
</button>
<button [nzLoading]="service.http.loading" nz-button nzDanger (click)="save()">
保存
</button>
</ng-container> </ng-container>
<ng-template #editButton> <ng-template #editButton>
<button [nzLoading]="service.http.loading" nz-button nzDanger (click)="auditPass()"> <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="auditPass()"> 通过 </button>
通过 <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="auditNo()"> 驳回 </button>
</button> <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="ratify()"> 修改 </button>
<button [nzLoading]="service.http.loading" nz-button nzDanger (click)="auditNo()">
驳回
</button>
<button [nzLoading]="service.http.loading" nz-button nzDanger (click)="ratify()">
修改
</button>
</ng-template> </ng-template>
</div> </div>
</div> </div>
@ -53,34 +41,76 @@
</ng-template> </ng-template>
</page-header-wrapper> </page-header-wrapper>
<nz-card [class]="isEdit?'edit-box':'readOnly-box'"> <nz-card [class]="isEdit ? 'edit-box' : 'readOnly-box'">
<sv-container col="3"> <sv-container col="3">
<sv-title>企业管理员信息</sv-title> <sv-title>企业管理员信息</sv-title>
<sv label="姓名"> <sv label="姓名">
<input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.name" [readonly]="!isEdit" <input
[nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.adminUserInfo.name"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
<sv label="手机号"> <sv label="手机号">
<input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.mobile" [readonly]="!isEdit" <input
[nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.adminUserInfo.mobile"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
<sv label="身份证号"> <sv label="身份证号">
<input nz-input type="text" [(ngModel)]="detailData.adminUserInfo.certificateNumber" [readonly]="!isEdit" <input
[nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.adminUserInfo.certificateNumber"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
<sv label="身份证照" col="2"> <sv label="身份证照" col="2">
<div class="d-flex"> <div class="d-flex">
<ng-container <ng-container
*ngTemplateOutlet="uploadTemplate;context:{image:detailData?.adminUserInfo?.certificatePhotoFrontWatermark,key:'certificatePhotoFrontWatermark',hover:'adminFront'}"> *ngTemplateOutlet="
uploadTemplate;
context: {
image: detailData?.adminUserInfo?.certificatePhotoFrontWatermark,
key: 'certificatePhotoFrontWatermark',
hover: 'adminFront'
}
"
>
</ng-container> </ng-container>
<ng-container <ng-container
*ngTemplateOutlet="uploadTemplate;context:{image:detailData?.adminUserInfo?.certificatePhotoBackWatermark,key:'certificatePhotoBackWatermark',hover:'adminBack'}"> *ngTemplateOutlet="
uploadTemplate;
context: {
image: detailData?.adminUserInfo?.certificatePhotoBackWatermark,
key: 'certificatePhotoBackWatermark',
hover: 'adminBack'
}
"
>
</ng-container> </ng-container>
</div> </div>
</sv> </sv>
<sv label="企业授权函" col="2"> <sv label="企业授权函" col="2">
<ng-container <ng-container
*ngTemplateOutlet="uploadTemplate;context:{image:detailData?.adminUserInfo?.certificatePhotoBackWatermark,key:'certificatePhotoBackWatermark',hover:'adminPhoto'}"> *ngTemplateOutlet="
uploadTemplate;
context: {
image: detailData?.adminUserInfo?.certificatePhotoBackWatermark,
key: 'certificatePhotoBackWatermark',
hover: 'adminPhoto'
}
"
>
</ng-container> </ng-container>
</sv> </sv>
</sv-container> </sv-container>
@ -89,83 +119,134 @@
<sv-container col="3"> <sv-container col="3">
<sv-title> <sv-title>
<label class="mr-md">企业基本信息</label> <label class="mr-md">企业基本信息</label>
<label *ngIf="detailData?.approvalStatus===10" style="color: #1890ff;"><i nz-icon nzType="info-circle" <label *ngIf="detailData?.approvalStatus === 10" style="color: #1890ff"
nzTheme="fill" class="mr-xs"></i>待审核 ><i nz-icon nzType="info-circle" nzTheme="fill" class="mr-xs"></i>待审核
</label> </label>
<label *ngIf="detailData?.approvalStatus===20" style="color: #52c41a;"><i nz-icon nzType="check-circle" <label *ngIf="detailData?.approvalStatus === 20" style="color: #52c41a"
nzTheme="fill" class="mr-xs"></i>审核通过 ><i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过
</label> </label>
<label *ngIf="detailData?.approvalStatus===30" style="color: #ff4d4f;"><i nz-icon nzType="close-circle" <label *ngIf="detailData?.approvalStatus === 30" style="color: #ff4d4f"
nzTheme="fill" class="mr-xs"></i>驳回 ><i nz-icon nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回
</label> </label>
</sv-title> </sv-title>
<sv label="公司名称"> <sv label="公司名称">
<input nz-input type="text" [(ngModel)]="detailData.enterpriseName" [readonly]="!isEdit" [nzBorderless]="!isEdit" <input
[placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.enterpriseName"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
<sv label="统一社会信用代码"> <sv label="统一社会信用代码">
<input nz-input type="text" [(ngModel)]="detailData.unifiedSocialCreditCode" [readonly]="!isEdit" <input
[nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.unifiedSocialCreditCode"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
<sv label="公司类型"> <sv label="公司类型">
<input nz-input type="text" [(ngModel)]="detailData.enterpriseType" [readonly]="!isEdit" [nzBorderless]="!isEdit" <input
[placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.enterpriseType"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
<sv label="注册资本"> <sv label="注册资本">
<ng-container *ngIf="isEdit; else registrationCapitalTemplate"> <ng-container *ngIf="isEdit; else registrationCapitalTemplate">
<input nz-input type="number" [(ngModel)]="detailData.registrationCapital" [readonly]="!isEdit" <input
[nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'" class="mr-sm"> nz-input
type="number"
[(ngModel)]="detailData.registrationCapital"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
class="mr-sm"
/>
</ng-container> </ng-container>
<ng-template #registrationCapitalTemplate> <ng-template #registrationCapitalTemplate>
{{detailData?.registrationCapital}} {{ detailData?.registrationCapital }}
</ng-template> </ng-template>
<span *ngIf="detailData?.registrationCapital">万元</span> <span *ngIf="detailData?.registrationCapital">万元</span>
</sv> </sv>
<sv label="成立日期"> <sv label="成立日期">
<nz-date-picker [(ngModel)]="detailData.enterpriseRegistrationTime" [nzDisabled]="!isEdit" <nz-date-picker
[nzPlaceHolder]="isEdit?'':'-'" [nzBorderless]="!isEdit" [nzSuffixIcon]="isEdit?'calendar':''"></nz-date-picker> [(ngModel)]="detailData.enterpriseRegistrationTime"
[nzDisabled]="!isEdit"
[nzPlaceHolder]="isEdit ? '' : '-'"
[nzBorderless]="!isEdit"
[nzSuffixIcon]="isEdit ? 'calendar' : ''"
></nz-date-picker>
</sv> </sv>
<sv label="营业期限"> <sv label="营业期限">
<ng-container *ngIf="isEdit; else operatingelseTemplate"> <ng-container *ngIf="isEdit; else operatingelseTemplate">
<nz-range-picker [ngModel]="[detailData?.operatingStartTime,detailData?.operatingEndTime]" <nz-range-picker
(ngModelChange)="changeTime($event)"></nz-range-picker> [ngModel]="[detailData?.operatingStartTime, detailData?.operatingEndTime]"
(ngModelChange)="changeTime($event)"
></nz-range-picker>
</ng-container> </ng-container>
<ng-template #operatingelseTemplate> <ng-template #operatingelseTemplate>
<div *ngIf="!!detailData?.operatingStartTime && !!detailData?.operatingEndTime"> <div *ngIf="!!detailData?.operatingStartTime && !!detailData?.operatingEndTime">
{{ detailData?.operatingStartTime }} 至 {{ detailData?.operatingEndTime }} {{ detailData?.operatingStartTime }} 至 {{ detailData?.operatingEndTime }}
</div> </div>
<div *ngIf="!detailData?.operatingStartTime && !detailData?.operatingEndTime">长期</div> <div *ngIf="!detailData?.operatingStartTime && !detailData?.operatingEndTime">长期</div>
<div *ngIf="!!detailData?.operatingStartTime && !detailData?.operatingEndTime">{{ detailData?.operatingStartTime <div *ngIf="!!detailData?.operatingStartTime && !detailData?.operatingEndTime">{{ detailData?.operatingStartTime }} 至 长期</div>
}} 至 长期</div>
</ng-template> </ng-template>
</sv> </sv>
<sv label="公司所在地" col="3"> <sv label="公司所在地" col="3">
<ng-container *ngIf="isEdit; else cascaderelseTemplate"> <ng-container *ngIf="isEdit; else cascaderelseTemplate">
<nz-cascader [(ngModel)]="values" [nzLoadData]="loadData" (ngModelChange)="changeCascader($event)"> <nz-cascader [(ngModel)]="values" [nzLoadData]="loadData" (ngModelChange)="changeCascader($event)"> </nz-cascader>
</nz-cascader>
</ng-container> </ng-container>
<ng-template #cascaderelseTemplate> <ng-template #cascaderelseTemplate>
{{ detailData?.fullRegionVO?.provinceName }}{{ detailData?.fullRegionVO?.cityName }}{{ {{ detailData?.fullRegionVO?.provinceName }}{{ detailData?.fullRegionVO?.cityName }}{{ detailData?.fullRegionVO?.areaName }}
detailData?.fullRegionVO?.areaName }}
</ng-template> </ng-template>
</sv> </sv>
<sv label="公司详细地址" col="2"> <sv label="公司详细地址" col="2">
<input nz-input type="text" [(ngModel)]="detailData.enterpriseAddress" [readonly]="!isEdit" <input
[nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.enterpriseAddress"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
</sv-container> </sv-container>
<sv-container col="1" class="mt16"> <sv-container col="1" class="mt16">
<sv label="经营范围"> <sv label="经营范围">
<input nz-input type="text" [(ngModel)]="detailData.businessScope" [readonly]="!isEdit" [nzBorderless]="!isEdit" <input
[placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.businessScope"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
<sv label="税务机关" col="2"> <sv label="税务机关" col="2">
<input nz-input type="text" [(ngModel)]="detailData.taxAuthority" [readonly]="!isEdit" [nzBorderless]="!isEdit" <input
[placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.taxAuthority"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
<sv label="营业执照" col="2"> <sv label="营业执照" col="2">
<ng-container <ng-container
*ngTemplateOutlet="uploadTemplate;context:{image:detailData?.licensePhotoWatermark,key:'licensePhotoWatermark',hover:'detailPhoto'}"> *ngTemplateOutlet="
uploadTemplate;
context: { image: detailData?.licensePhotoWatermark, key: 'licensePhotoWatermark', hover: 'detailPhoto' }
"
>
</ng-container> </ng-container>
</sv> </sv>
</sv-container> </sv-container>
@ -173,12 +254,24 @@
<sv-container col="3" class="mt16"> <sv-container col="3" class="mt16">
<sv-title>企业法人信息</sv-title> <sv-title>企业法人信息</sv-title>
<sv label="法定代表人"> <sv label="法定代表人">
<input nz-input type="text" [(ngModel)]="detailData.legalPersonIdentityVO.name" [readonly]="!isEdit" <input
[nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.legalPersonIdentityVO.name"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
<sv label="身份证号码"> <sv label="身份证号码">
<input nz-input type="text" [(ngModel)]="detailData.legalPersonIdentityVO.certificateNumber" [readonly]="!isEdit" <input
[nzBorderless]="!isEdit" [placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.legalPersonIdentityVO.certificateNumber"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
<sv label="身份证有效期"> <sv label="身份证有效期">
{{ detailData?.legalPersonIdentityVO?.validStartTime }} - {{ detailData?.legalPersonIdentityVO?.validStartTime }} -
@ -187,10 +280,26 @@
<sv label="身份证照" col="1"> <sv label="身份证照" col="1">
<div class="d-flex"> <div class="d-flex">
<ng-container <ng-container
*ngTemplateOutlet="uploadTemplate;context:{image:detailData?.legalPersonIdentityVO?.certificatePhotoFrontWatermark,key:'certificatePhotoFrontWatermark',hover:'legalFront'}"> *ngTemplateOutlet="
uploadTemplate;
context: {
image: detailData?.legalPersonIdentityVO?.certificatePhotoFrontWatermark,
key: 'certificatePhotoFrontWatermark',
hover: 'legalFront'
}
"
>
</ng-container> </ng-container>
<ng-container <ng-container
*ngTemplateOutlet="uploadTemplate;context:{image:detailData?.legalPersonIdentityVO?.certificatePhotoBackWatermark,key:'certificatePhotoBackWatermark',hover:'legalBack'}"> *ngTemplateOutlet="
uploadTemplate;
context: {
image: detailData?.legalPersonIdentityVO?.certificatePhotoBackWatermark,
key: 'certificatePhotoBackWatermark',
hover: 'legalBack'
}
"
>
</ng-container> </ng-container>
</div> </div>
</sv> </sv>
@ -199,20 +308,44 @@
<sv-container col="3" class="mt16"> <sv-container col="3" class="mt16">
<sv-title>企业开票信息</sv-title> <sv-title>企业开票信息</sv-title>
<sv label="开户银行"> <sv label="开户银行">
<input nz-input type="text" [(ngModel)]="detailData.createBank" [readonly]="!isEdit" [nzBorderless]="!isEdit" <input
[placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.createBank"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
<sv label="银行账户"> <sv label="银行账户">
<input nz-input type="text" [(ngModel)]="detailData.bankAccount" [readonly]="!isEdit" [nzBorderless]="!isEdit" <input
[placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.bankAccount"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
<sv label="注册电话"> <sv label="注册电话">
<input nz-input type="text" [(ngModel)]="detailData.registerPhone" [readonly]="!isEdit" [nzBorderless]="!isEdit" <input
[placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.registerPhone"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
<sv label="注册地址"> <sv label="注册地址">
<input nz-input type="text" [(ngModel)]="detailData.registerAddress" [readonly]="!isEdit" [nzBorderless]="!isEdit" <input
[placeholder]="isEdit?'':'-'"> nz-input
type="text"
[(ngModel)]="detailData.registerAddress"
[readonly]="!isEdit"
[nzBorderless]="!isEdit"
[placeholder]="isEdit ? '' : '-'"
/>
</sv> </sv>
</sv-container> </sv-container>
</nz-card> </nz-card>
@ -239,28 +372,39 @@
{{ detailData?.enterpriseName }} {{ detailData?.enterpriseName }}
</se> </se>
<se [col]="1" label="备注" required> <se [col]="1" label="备注" required>
<textarea nz-input rows="3" style="width: 325px;margin-left: 14px;" [(ngModel)]="approvalOpinion"></textarea> <textarea nz-input rows="3" style="width: 325px; margin-left: 14px" [(ngModel)]="approvalOpinion"></textarea>
</se> </se>
</div> </div>
</div> </div>
</ng-template> </ng-template>
<ng-template #uploadTemplate let-image="image" let-key="key" let-hover="hover"> <ng-template #uploadTemplate let-image="image" let-key="key" let-hover="hover">
<nz-upload class="avatar-uploader" [nzAction]="uploadURl" nzName="multipartFile" nzListType="picture-card" <nz-upload
[nzShowUploadList]="false" nzFileType="image/png,image/jpeg,image/jpg,image/gif" class="avatar-uploader"
[nzDisabled]="!isEdit || disabledUpload" (nzChange)="changeUpload($event,key)"> [nzAction]="uploadURl"
nzName="multipartFile"
nzListType="picture-card"
[nzShowUploadList]="false"
nzFileType="image/png,image/jpeg,image/jpg,image/gif"
[nzDisabled]="!isEdit || disabledUpload"
(nzChange)="changeUpload($event, key)"
>
<ng-container *ngIf="!image && isEdit"> <ng-container *ngIf="!image && isEdit">
<i class="upload-icon" nz-icon [nzType]="false ? 'loading' : 'plus'"></i> <i class="upload-icon" nz-icon [nzType]="false ? 'loading' : 'plus'"></i>
<div class="ant-upload-text">上传</div> <div class="ant-upload-text">上传</div>
</ng-container> </ng-container>
<div *ngIf="image" (mouseover)="detailData[hover]=true" (mouseleave)="detailData[hover]=false" <div
(click)="$event.cancelBubble=true" class="image-hover"> *ngIf="image"
<img [src]="image" style="width: 200px;height: 160px;" /> (mouseover)="detailData[hover] = true"
(mouseleave)="detailData[hover] = false"
(click)="$event.cancelBubble = true"
class="image-hover"
>
<img [src]="image" style="width: 200px; height: 160px" />
<div class="mask" *ngIf="detailData[hover] && isEdit"></div> <div class="mask" *ngIf="detailData[hover] && isEdit"></div>
<div class="mask-over" *ngIf="detailData[hover] && isEdit"> <div class="mask-over" *ngIf="detailData[hover] && isEdit">
<i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" (click)="deleteImg(key)"></i> <i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" (click)="deleteImg(key)"></i>
<div style="display: flex;align-items: center;"> <div style="display: flex; align-items: center">
<i nz-icon nzType="eye" nzTheme="fill" class="show-icon" (click)="showImg(image)"></i> <i nz-icon nzType="eye" nzTheme="fill" class="show-icon" (click)="showImg(image)"></i>
</div> </div>
</div> </div>

View File

@ -18,7 +18,8 @@
<div class="modal-title">查看协议</div> <div class="modal-title">查看协议</div>
</div> </div>
<div class="text-center"> <div class="text-center">
<div class="text-center"><img [src]="i?.carProtocal" /></div> <!-- <div class="text-center"><img [src]="i?.carProtocal" /></div> -->
<div class="text-center"> <img (click)="showImg(i?.carProtocal)" [src]="i?.carProtocal" style="width: 200px;height: 160px;" /></div>
</div> </div>
<div *nzModalFooter> <div *nzModalFooter>
<button *ngIf="i?.auditStatusEnum == 20 || i?.auditStatusEnum == 30" nz-button nzType="default" (click)="cancel()">取消</button> <button *ngIf="i?.auditStatusEnum == 20 || i?.auditStatusEnum == 30" nz-button nzType="default" (click)="cancel()">取消</button>

View File

@ -1,13 +1,14 @@
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-12-07 17:30:18 * @Date: 2021-12-07 17:30:18
* @LastEditTime: 2022-01-18 16:36:27 * @LastEditTime : 2022-04-22 15:15:49
* @LastEditors: Please set LastEditors * @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath: \tms-obc-web\src\app\routes\vehicle\components\list\img-view\img-view.component.ts * @FilePath : \\tms-obc-web\\src\\app\\routes\\vehicle\\components\\list\\img-view\\img-view.component.ts
*/ */
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { _HttpClient } from '@delon/theme'; import { _HttpClient } from '@delon/theme';
import { NzImageService } from 'ng-zorro-antd/image';
import { NzMessageService } from 'ng-zorro-antd/message'; import { NzMessageService } from 'ng-zorro-antd/message';
import { NzModalRef } from 'ng-zorro-antd/modal'; import { NzModalRef } from 'ng-zorro-antd/modal';
import { VehicleService } from '../../../services/vehicle.service'; import { VehicleService } from '../../../services/vehicle.service';
@ -20,7 +21,7 @@ export class VehicleImgViewComponent implements OnInit {
record: any = {}; record: any = {};
i: any; i: any;
constructor(private modal: NzModalRef, public msgSrv: NzMessageService, public http: _HttpClient, public service: VehicleService) {} constructor(private modal: NzModalRef, public msgSrv: NzMessageService, public http: _HttpClient, public service: VehicleService, private nzImageService: NzImageService) {}
ngOnInit(): void { ngOnInit(): void {
console.log(this.i); console.log(this.i);
@ -42,6 +43,13 @@ export class VehicleImgViewComponent implements OnInit {
} }
}) })
} }
showImg(url: any) {
const params = {
imgList: [url],
index: 0
};
this.nzImageService.preview([{ src: url }]);
}
// 通过 // 通过
okCancel() { okCancel() {
const params ={ const params ={

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-01-25 20:18:52 * @Date : 2022-01-25 20:18:52
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-03-29 10:34:14 * @LastEditTime : 2022-04-22 14:09:16
* @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\rebate-table\\rebate-table.component.html * @FilePath : \\tms-obc-web\\src\\app\\shared\\components\\rebate-table\\rebate-table.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
@ -15,20 +15,20 @@
<button class="ml-md" nz-button nzType="primary" (click)="save()">保存</button> <button class="ml-md" nz-button nzType="primary" (click)="save()">保存</button>
</div> --> </div> -->
<nz-table #groupingTable [nzData]="data" nzBordered nzSize="small" [nzFrontPagination]="false" <nz-table #groupingTable [nzData]="data" nzBordered nzSize="small" [nzFrontPagination]="false"
[nzScroll]="{ x: '900px' }" [nzShowPagination]="false" class="ml-xl" style="max-width: 1200px;"> [nzScroll]="{ y: '900px' }" [nzShowPagination]="false" class="ml-xl" style="max-width: 1000px;">
<thead> <thead>
<tr> <tr>
<th rowspan="2" nzWidth="250px" nzAlign="center" nzLeft>序号</th> <th rowspan="2" nzWidth="60px" nzAlign="center" nzLeft>序号</th>
<th nzWidth="220px" nzAlign="center" >合伙人等级</th> <th nzWidth="220px" nzAlign="center" >合伙人等级</th>
<th nzWidth="220px" nzAlign="center" >初始业务量(万/月)</th> <th nzWidth="160px" nzAlign="center" >初始业务量(万/月)</th>
<th nzWidth="220px" nzAlign="center" >到达业务量(万/月)</th> <th nzWidth="160px" nzAlign="center" >到达业务量(万/月)</th>
<th nzWidth="220px" nzAlign="center" >管理费比例%</th> <th nzWidth="160px" nzAlign="center" >管理费比例%</th>
<th rowspan="2" nzWidth="60px" nzAlign="center" nzRight>操作</th> <th rowspan="2" nzWidth="60px" nzAlign="center" nzRight>操作</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr *ngFor="let item of groupingTable.data;let i = index"> <tr *ngFor="let item of groupingTable.data;let i = index">
<td nzWidth="250px" nzAlign="center" nzLeft> <td nzWidth="60px" nzAlign="center" nzLeft>
<div style="text-align: center;"> <div style="text-align: center;">
<div> <div>
{{i + 1}} {{i + 1}}
@ -42,26 +42,26 @@
</nz-select> </nz-select>
</div> </div>
</td> </td>
<td nzWidth="220px" nzAlign="center" > <td nzWidth="160px" nzAlign="center" >
<div style=" margin-left: 26%"> <div >
<nz-input-group nzPrefix="="> <nz-input-group nzPrefix="=" >
<nz-input-number [(ngModel)]="item.startAmount" [nzMin]="0" nzSize="small" (ngModelChange)="changeendAmount($event,i)" <nz-input-number nzPrefix="=" [(ngModel)]="item.startAmount" [nzMin]="0" nzSize="small" (ngModelChange)="changeendAmount($event,i)"
> >
</nz-input-number> </nz-input-number>
</nz-input-group> </nz-input-group>
</div> </div>
</td> </td>
<td nzWidth="220px" nzAlign="center" > <td nzWidth="160px" nzAlign="center" >
<div style=" margin-left: 26%"> <div >
<nz-input-group nzPrefix=""> <nz-input-group nzPrefix="">
<nz-input-number [(ngModel)]="item.endAmount" [nzMin]="0" nzSize="small" > <nz-input-number [(ngModel)]="item.endAmount" [nzMin]="0" nzSize="small" >
</nz-input-number> </nz-input-number>
</nz-input-group> </nz-input-group>
</div> </div>
</td> </td>
<td nzWidth="220px" nzAlign="center" > <td nzWidth="160px" nzAlign="center" >
<div style=" margin-left: 26%"> <div >
<nz-input-group [nzAddOnAfter]="addOnAfterTemplate2"> <nz-input-group [nzAddOnAfter]="addOnAfterTemplate2">
<nz-input-number [(ngModel)]="item.managementFeeRatio" [nzMin]="0" nzSize="small" <nz-input-number [(ngModel)]="item.managementFeeRatio" [nzMin]="0" nzSize="small"
> >

View File

@ -15,5 +15,8 @@
.ant-input-group { .ant-input-group {
display: -webkit-inline-box !important; display: -webkit-inline-box !important;
} }
.ant-input-affix-wrapper {
border: none
}
} }