merge
This commit is contained in:
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: your name
|
* @Author: your name
|
||||||
* @Date: 2021-11-29 10:20:33
|
* @Date: 2021-11-29 10:20:33
|
||||||
* @LastEditTime: 2021-12-01 09:53:56
|
* @LastEditTime: 2021-12-01 20:37:48
|
||||||
* @LastEditors: Please set LastEditors
|
* @LastEditors: Please set LastEditors
|
||||||
* @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\routes-routing.module.ts
|
* @FilePath: \tms-obc-web\src\app\routes\routes-routing.module.ts
|
||||||
@ -32,7 +32,8 @@ const routes: Routes = [
|
|||||||
loadChildren: () => import('./usercenter/usercenter.module').then(m => m.UsercenterModule)
|
loadChildren: () => import('./usercenter/usercenter.module').then(m => m.UsercenterModule)
|
||||||
},
|
},
|
||||||
{ path: 'system', loadChildren: () => import('./sys-setting/sys-setting.module').then(m => m.SysSettingModule) },
|
{ path: 'system', loadChildren: () => import('./sys-setting/sys-setting.module').then(m => m.SysSettingModule) },
|
||||||
{ path: 'supplygoods', loadChildren: () => import('./supply-goods/supply-goods.module').then(m => m.SupplyGoodsModule) }
|
{ path: 'supplygoods', loadChildren: () => import('./supply-goods/supply-goods.module').then(m => m.SupplyGoodsModule) },
|
||||||
|
{ path: 'vehicle', loadChildren: () => import('./vehicle/vehicle.module').then(m => m.VehicleModule) }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
// passport
|
// passport
|
||||||
|
|||||||
@ -1,3 +1,11 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: your name
|
||||||
|
* @Date: 2021-12-01 09:58:58
|
||||||
|
* @LastEditTime: 2021-12-01 20:00:33
|
||||||
|
* @LastEditors: Please set LastEditors
|
||||||
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
|
* @FilePath: \tms-obc-web\src\app\routes\supply-goods\components\carload\carload.component.html
|
||||||
|
-->
|
||||||
|
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<!-- 搜索区 -->
|
<!-- 搜索区 -->
|
||||||
@ -37,11 +45,10 @@
|
|||||||
</nz-card>
|
</nz-card>
|
||||||
<nz-card>
|
<nz-card>
|
||||||
<div class="actionAreaWrap">
|
<div class="actionAreaWrap">
|
||||||
<button nz-button (click)="orderExport()" nzType="primary">订单导入</button>
|
<button nz-button (click)="orderExport()" nzType="primary">导入货源</button>
|
||||||
<!-- <button nz-button (click)="deliverBelivery()" nzType="primary">批量发货</button> -->
|
|
||||||
</div>
|
</div>
|
||||||
<nz-tabset [nzTabPosition]="'top'" [nzType]="'card'" class="table" [nzSelectedIndex]="nzSelectedIndex">
|
<nz-tabset [nzTabPosition]="'top'" [nzType]="'card'" class="table" [nzSelectedIndex]="nzSelectedIndex">
|
||||||
<nz-tab *ngFor="let tab of tabs; let i = index" [nzTitle]="i === 3 ? tab + '(' + toSendCount + ')' : tab" (nzClick)="tabChange(i)">
|
<nz-tab *ngFor="let tab of tabs; let i = index" [nzTitle]="tab" (nzClick)="tabChange(i)">
|
||||||
<nz-table
|
<nz-table
|
||||||
#nzTable
|
#nzTable
|
||||||
[nzData]="listData"
|
[nzData]="listData"
|
||||||
@ -49,6 +56,7 @@
|
|||||||
[nzLoading]="loading"
|
[nzLoading]="loading"
|
||||||
[nzTotal]="total"
|
[nzTotal]="total"
|
||||||
[nzBordered]="true"
|
[nzBordered]="true"
|
||||||
|
[nzScroll]="{ x: '1400px' }"
|
||||||
[nzFrontPagination]="false"
|
[nzFrontPagination]="false"
|
||||||
[nzPageSize]="pageSize"
|
[nzPageSize]="pageSize"
|
||||||
[nzPageIndex]="pageIndex"
|
[nzPageIndex]="pageIndex"
|
||||||
@ -61,123 +69,144 @@
|
|||||||
<ng-template #totalTemplate let-total> 共 {{ total }} 条 </ng-template>
|
<ng-template #totalTemplate let-total> 共 {{ total }} 条 </ng-template>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th nzAlign="center">商品</th>
|
<th nzAlign="center" nzWidth="100px">货源编号</th>
|
||||||
<th nzWidth="100px" nzAlign="center">订单金额</th>
|
<th nzWidth="100px" nzAlign="center">货源类型</th>
|
||||||
<th nzWidth="160px" nzAlign="center">收件人</th>
|
<th nzWidth="100px" nzAlign="center">货主</th>
|
||||||
<th nzWidth="160px" nzAlign="center">下单商家</th>
|
<th nzWidth="100px" nzAlign="center">项目名称</th>
|
||||||
<th nzWidth="120px" nzAlign="center">状态</th>
|
<th nzWidth="100px" nzAlign="center">装货地</th>
|
||||||
|
<th nzWidth="100px" nzAlign="center">卸货地</th>
|
||||||
|
<th nzWidth="100px" nzAlign="center">货物名称</th>
|
||||||
|
<th nzWidth="160px" nzAlign="center">重量/体积</th>
|
||||||
|
<th nzWidth="160px" nzAlign="center">用车需求</th>
|
||||||
|
<th nzWidth="160px" nzAlign="center">总费用</th>
|
||||||
|
<th nzWidth="160px" nzAlign="center">附加费</th>
|
||||||
|
<th nzWidth="160px" nzAlign="center">用车需求</th>
|
||||||
|
<th nzWidth="120px" nzAlign="center">货源状态</th>
|
||||||
|
<th nzWidth="120px" nzAlign="center">创建时间</th>
|
||||||
|
<th nzWidth="120px" nzAlign="center">审核状态</th>
|
||||||
<th nzWidth="120px" nzAlign="center">操作</th>
|
<th nzWidth="120px" nzAlign="center">操作</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<ng-container *ngFor="let data of nzTable.data; index as key">
|
<tr *ngFor="let data of nzTable.data">
|
||||||
<tr [nzExpand]="true">
|
|
||||||
<div class="order-line">
|
|
||||||
<div class="order-line-number">
|
|
||||||
订单号:{{ data.orderSn }} 下单时间:{{
|
|
||||||
data.createTime
|
|
||||||
}} 订单类型:{{
|
|
||||||
data.supplierType == 1 ? '普通订单' : 'GD订单'
|
|
||||||
}}
|
|
||||||
支付方式:{{ data.payType === 1 ? '一次性付款,先货后款' : '-'
|
|
||||||
}}{{ data.payType === 2 ? '分批付款,先货后款' : '' }} 配送方式:{{
|
|
||||||
data.deliveryTypeDesc
|
|
||||||
}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</tr>
|
|
||||||
<tr *ngFor="let item of data.goodsList; index as i">
|
|
||||||
<td>
|
<td>
|
||||||
<div class="order-goods">
|
{{data.id3}}
|
||||||
<div class="order-goods-img">
|
</td>
|
||||||
<img [src]="item.goodsPhotoUrl" alt="" />
|
<td>
|
||||||
</div>
|
{{data.id3}}
|
||||||
<div class="order-goods-info">
|
</td>
|
||||||
<h2>
|
<td>
|
||||||
<span nz-tooltip [nzTooltipTitle]="item.goodsName"
|
{{data.id3}}
|
||||||
>{{ item.goodsName }}<br />
|
</td>
|
||||||
<span *ngFor="let items of item.goodsSpecJson; index as i">
|
<td>
|
||||||
<span *ngIf="i !== 0">,</span>{{ items.specName }}:{{ items.specValueName }}
|
{{data.id3}}
|
||||||
</span>
|
</td>
|
||||||
</span>
|
<td>
|
||||||
<p>数量:{{ item.goodsQuantity }}</p>
|
{{data.id3}}
|
||||||
</h2>
|
</td>
|
||||||
</div>
|
<td>
|
||||||
<div class="order-goods-state">
|
{{data.id3}}
|
||||||
{{ item.sendType === 1 ? '已发货' : item.sendType === 2 ? '部分发货' : '' }}<br />
|
</td>
|
||||||
{{ item.returnStatusName }}
|
<td>
|
||||||
</div>
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div><span style="color: #52c41a;">●</span>已接单</div>
|
||||||
|
<div><span >●</span>已取消</div>
|
||||||
|
<div><span style="color: #f59a23;">●</span>待接单</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div>
|
||||||
|
<div><span style="color: #52c41a;">●</span>审核通过</div>
|
||||||
|
<div><span style="color: #d9001b;">●</span>不通过</div>
|
||||||
|
<div><span style="color: #f59a23;">●</span>待审核</div>
|
||||||
|
<!-- <span>待审核</span> -->
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
<ng-container [ngSwitch]="i">
|
<div>
|
||||||
<ng-container *ngSwitchCase="0">
|
<a nz-button nzType="link" (click)="showApply()">货源审核</a>
|
||||||
<td [rowSpan]="data.goodsList.length">¥{{ data.payAmount.toFixed(2) }}</td>
|
<a nz-button nzType="link" (click)="showApply()">修改运费</a>
|
||||||
<td [rowSpan]="data.goodsList.length" nzAlign="center">
|
<a nz-button nzType="link" nzDanger (click)="showAssign()">指派熟车</a>
|
||||||
{{ data.receiveName }}<br />
|
<a nz-button nzType="link" nzDanger (click)="showApply()">修改单价</a>
|
||||||
{{ data.receiveMobile }}
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td [rowSpan]="data.goodsList.length" nzAlign="center">
|
</tr>
|
||||||
{{ data.tenantName }}
|
|
||||||
</td>
|
|
||||||
<td [rowSpan]="data.goodsList.length" nzAlign="center">
|
|
||||||
<ng-container *ngIf="data.orderStatusStr; else elseorderStatusTemplate">{{ data.orderStatusStr }}</ng-container
|
|
||||||
><ng-template #elseorderStatusTemplate
|
|
||||||
><span *ngIf="!(data.payType === 2 && data.orderExtend.isDeliverGoods === 1 && data.orderStatus === 20)">{{
|
|
||||||
data.orderStatusDesc
|
|
||||||
}}</span
|
|
||||||
><br /><span *ngIf="data.payType === 2 && data.orderStatus !== 5 && data.orderExtend.isPay === 0">{{
|
|
||||||
data.payStatusDesc
|
|
||||||
}}</span></ng-template
|
|
||||||
>
|
|
||||||
</td>
|
|
||||||
<td [rowSpan]="data.goodsList.length" nzAlign="center">
|
|
||||||
<div class="order-line-price">
|
|
||||||
<!-- <span *ngIf="data.updateDeliverFlag === 1"
|
|
||||||
><a nz-button nzType="link" (click)="updateLogistics(data)">修改运单</a><br
|
|
||||||
/></span> -->
|
|
||||||
<!-- *ngIf="data.orderPaymentVoucherVO.chechStatus === 0" -->
|
|
||||||
<span *ngIf="data.orderPaymentVoucherVO.checkStatus === 0 && data.supplierType === 2">
|
|
||||||
<a nz-button nzType="link" (click)="paymentReview(data)">付款审核</a>
|
|
||||||
</span>
|
|
||||||
<span *ngIf="data.orderStatus === 5 && data.supplierType === 2">
|
|
||||||
<a nz-button nzType="link" (click)="orderReview(data)">审核</a><br />
|
|
||||||
</span>
|
|
||||||
<span *ngIf="data.orderStatus === 5">
|
|
||||||
<a nz-button nzType="link" (click)="modifyPrice(data)">修改价格</a>
|
|
||||||
</span>
|
|
||||||
<span
|
|
||||||
*ngIf="
|
|
||||||
data.orderExtend?.isDeliverGoods === 0 && data.orderStatus !== 5 && data.orderStatus !== 50 && data.payType === 2
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<a nz-button nzType="link" (click)="deliverGoods(data)">立即发货</a>
|
|
||||||
<br
|
|
||||||
/></span>
|
|
||||||
<span *ngIf="data.orderExtend?.isDeliverGoods === 0 && data.orderStatus === 20 && data.payType === 1">
|
|
||||||
<a nz-button nzType="link" (click)="deliverGoods(data)">立即发货</a>
|
|
||||||
<br
|
|
||||||
/></span>
|
|
||||||
<a nz-button nzType="link" (click)="goDetail(data)">查看详情</a>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</ng-container>
|
|
||||||
</ng-container>
|
|
||||||
</tr>
|
|
||||||
</ng-container>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</nz-table>
|
</nz-table>
|
||||||
</nz-tab>
|
</nz-tab>
|
||||||
</nz-tabset>
|
</nz-tabset>
|
||||||
</nz-card>
|
</nz-card>
|
||||||
|
|
||||||
<ng-template #exportTemplate>
|
<nz-modal [(nzVisible)]="isVisible" [nzFooter]="nzModalFooter" nzTitle="修改运费" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel('suppliersType')">
|
||||||
<nz-alert nzType="info" nzMessage="为保证报表导出性能,最多只能导出最近1W个订单" nzShowIcon></nz-alert>
|
<ng-container *nzModalContent>
|
||||||
<sv-container col="1" style="margin-top: 20px">
|
<sf #sfFre [schema]="freightSchema" [ui]="uiFre" [compact]="false" [button]="'none'">
|
||||||
<sv label="报表字段">
|
<ng-template sf-template="manys" let-me let-ui="ui" let-schema="schema">
|
||||||
<nz-tag *ngFor="let item of exportFieldList" nzColor="#2db7f5">
|
<div>
|
||||||
{{ item }}
|
<span>{{this.sfFre.value.contactsName}}</span>
|
||||||
</nz-tag>
|
</div>
|
||||||
</sv>
|
</ng-template>
|
||||||
</sv-container>
|
<ng-template sf-template="unifiedSocia" let-me let-ui="ui" let-schema="schema">
|
||||||
</ng-template>
|
<nz-input-number
|
||||||
|
[(ngModel)]="ssdsad"
|
||||||
|
[nzMin]="0"
|
||||||
|
[nzMax]="30"
|
||||||
|
nzPlaceHolder="请输入1-30"
|
||||||
|
id="margin"
|
||||||
|
width=400
|
||||||
|
ngDefaultControl
|
||||||
|
required
|
||||||
|
></nz-input-number
|
||||||
|
> 天内支付运费。
|
||||||
|
</ng-template>
|
||||||
|
<ng-template sf-template="fujia" let-me let-ui="ui" let-schema="schema">
|
||||||
|
15.00(费率:<a href="javaccript:;">5.3</a> )
|
||||||
|
</ng-template>
|
||||||
|
</sf>
|
||||||
|
</ng-container>
|
||||||
|
<ng-template #nzModalFooter>
|
||||||
|
<button nz-button nzType="default" (click)="handleCancel('suppliersType')">取消</button>
|
||||||
|
<button nz-button nzType="primary" (click)="handleOK()" [disabled]="">确认修改</button>
|
||||||
|
</ng-template>
|
||||||
|
</nz-modal>
|
||||||
|
|
||||||
|
<nz-modal [(nzVisible)]="isVisibleAssign" [nzWidth]="900" [nzFooter]="nzModalFooter" nzTitle="指派熟车" (nzOnOk)="handleOK()" (nzOnCancel)="handleCancel('assign')">
|
||||||
|
<ng-container *nzModalContent>
|
||||||
|
<sf #sfAssign [schema]="schemaAssign" [ui]="ui" [mode]="'search'" (formSubmit)="stAssign?.load(1)"
|
||||||
|
(formReset)="resetSFAssign()"></sf>
|
||||||
|
<st
|
||||||
|
#stAssign
|
||||||
|
multiSort
|
||||||
|
[scroll]="{ x: '900px' }"
|
||||||
|
[data]="listData2"
|
||||||
|
[columns]="ColumnsAssign"
|
||||||
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParamsAssign }"
|
||||||
|
[res]="{ reName: { list: 'data', total: 'data.total' } }"
|
||||||
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
|
(change)="change($event)"
|
||||||
|
>
|
||||||
|
</st>
|
||||||
|
</ng-container>
|
||||||
|
<ng-template #nzModalFooter>
|
||||||
|
<button nz-button nzType="default" (click)="handleCancel('assign')">取消</button>
|
||||||
|
<button nz-button nzType="primary" (click)="handleOK()" [disabled]="">确认修改</button>
|
||||||
|
</ng-template>
|
||||||
|
</nz-modal>
|
||||||
|
|||||||
@ -1,128 +1,7 @@
|
|||||||
.order-goods {
|
|
||||||
display: flex;
|
|
||||||
text-align: left;
|
|
||||||
.order-goods-img {
|
|
||||||
width: 80px;
|
|
||||||
height: 80px;
|
|
||||||
margin-right: 10px;
|
|
||||||
overflow: hidden;
|
|
||||||
img {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.order-goods-info {
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
.order-goods-state {
|
|
||||||
width: 70px;
|
|
||||||
margin-left: 10px;
|
|
||||||
line-height: 28px;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
h2 {
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
.form,
|
|
||||||
.table {
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
.form {
|
|
||||||
padding: 20px;
|
|
||||||
}
|
|
||||||
.select-item {
|
|
||||||
width: 180px;
|
|
||||||
}
|
|
||||||
.ant-form-item {
|
|
||||||
margin-bottom: 16px;
|
|
||||||
}
|
|
||||||
.order-line {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.order-receiving {
|
.status-point {
|
||||||
.order-receiving-remark {
|
display: inline-block;
|
||||||
line-height: 26px;
|
width: 6px;
|
||||||
span {
|
height: 6px;
|
||||||
color: #1890ff;
|
border-radius: 50%;
|
||||||
}
|
|
||||||
input {
|
|
||||||
width: 130px;
|
|
||||||
margin-right: 6px;
|
|
||||||
padding: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
color: #1890ff;
|
|
||||||
white-space: nowrap;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
background: none;
|
|
||||||
border: none;
|
|
||||||
&.have-edit {
|
|
||||||
color: #000000a6;
|
|
||||||
border: 1px solid #d9d9d9;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.order-operation {
|
|
||||||
div {
|
|
||||||
color: #1890ff;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
p {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.timeline {
|
|
||||||
span {
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0 4px;
|
|
||||||
padding: 5px 6px;
|
|
||||||
color: #999;
|
|
||||||
background-color: #f2f2f2;
|
|
||||||
border-radius: 2px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.ant-table-tbody > tr.ant-table-row:hover > td {
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btnBox {
|
|
||||||
margin: 0 0 10px 0;
|
|
||||||
}
|
|
||||||
.searchAreaWrap {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.sfExpand {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.actionBox {
|
|
||||||
margin: 0 0 0 10px;
|
|
||||||
}
|
|
||||||
.sfBox {
|
|
||||||
width: 60%;
|
|
||||||
}
|
|
||||||
.expandsfBox {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.expandAcitonBox {
|
|
||||||
margin: 10px 0 20px 0;
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
.actionAreaWrap {
|
|
||||||
margin: 0 0 20px 0;
|
|
||||||
}
|
|
||||||
.overflowText {
|
|
||||||
display: -webkit-box;
|
|
||||||
overflow: hidden;
|
|
||||||
text-align: left;
|
|
||||||
text-overflow: -o-ellipsis-lastline;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
-webkit-line-clamp: 2;
|
|
||||||
line-clamp: 2;
|
|
||||||
-webkit-box-orient: vertical;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,15 +2,15 @@
|
|||||||
* @Description:
|
* @Description:
|
||||||
* @Author: wsm
|
* @Author: wsm
|
||||||
* @Date: 2021-07-15 09:42:57
|
* @Date: 2021-07-15 09:42:57
|
||||||
* @LastEditTime: 2021-12-01 10:36:54
|
* @LastEditTime: 2021-12-01 19:59:38
|
||||||
* @LastEditors: Please set LastEditors
|
* @LastEditors: Please set LastEditors
|
||||||
* @Reference:
|
* @Reference:
|
||||||
*/
|
*/
|
||||||
import { AfterViewInit, Component, OnInit, TemplateRef, ViewChild } from '@angular/core';
|
import { AfterViewInit, Component, OnInit, TemplateRef, ViewChild } from '@angular/core';
|
||||||
import { FormBuilder, FormGroup } from '@angular/forms';
|
import { FormBuilder, FormGroup } from '@angular/forms';
|
||||||
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
|
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
|
||||||
import { STComponent } from '@delon/abc/st';
|
import { STChange, STColumn, STComponent } from '@delon/abc/st';
|
||||||
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
|
import { SFComponent, SFDateWidgetSchema, SFRadioWidgetSchema, SFSchema, SFTextWidgetSchema, SFUISchema } from '@delon/form';
|
||||||
import { ModalHelper } from '@delon/theme';
|
import { ModalHelper } from '@delon/theme';
|
||||||
import { NzModalService } from 'ng-zorro-antd/modal';
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
import { filter } from 'rxjs/operators';
|
import { filter } from 'rxjs/operators';
|
||||||
@ -23,27 +23,34 @@ import { filter } from 'rxjs/operators';
|
|||||||
})
|
})
|
||||||
export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterViewInit {
|
export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterViewInit {
|
||||||
@ViewChild('st', { static: true }) st!: STComponent;
|
@ViewChild('st', { static: true }) st!: STComponent;
|
||||||
|
@ViewChild('stAssign', { static: true }) stAssign!: STComponent;
|
||||||
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
validateForm!: FormGroup;
|
@ViewChild('sfAssign', { static: false }) sfAssign!: SFComponent;
|
||||||
@ViewChild('exportTemplate')
|
@ViewChild('sfFre', { static: false }) sfFre!: SFComponent;
|
||||||
exportTemplate!: TemplateRef<any>;
|
isVisible = false;
|
||||||
|
isVisibleAssign = false;
|
||||||
|
ColumnsAssign!: STColumn[];
|
||||||
ui: SFUISchema = {};
|
ui: SFUISchema = {};
|
||||||
|
uiFre: SFUISchema = {};
|
||||||
mode: any = 'search';
|
mode: any = 'search';
|
||||||
tabs = ['全部', '待审核', '待支付', '待发货', '待收货', '已完成'];
|
demoValue: any;
|
||||||
exportFieldList = [
|
tabs = ['全部', '待接单', '已接单', '已取消'];
|
||||||
'订单号',
|
listData: any =[
|
||||||
'下单时间',
|
{
|
||||||
'支付方式',
|
id: 1,
|
||||||
'订单金额',
|
id2: 2,
|
||||||
'订单状态',
|
id3:3,
|
||||||
'下单商家',
|
id4: 4,
|
||||||
'SKU信息(SKUID,商品名称+规格名称,数量)',
|
}
|
||||||
'配送方式',
|
]
|
||||||
'收件人',
|
listData2: any = [
|
||||||
'收件人电话',
|
{
|
||||||
'收件人地址',
|
clientGroupName: '姓名',
|
||||||
];
|
clientCount: '姓名',
|
||||||
listData: any;
|
clientCount2: '姓名',
|
||||||
|
clientCount3: '姓名',
|
||||||
|
}
|
||||||
|
]
|
||||||
orderStatus: any = '0'; // 订单状态, 10为已提交待付款, 20为已付款待发,30为已发货待收货,50取消订单,40 已完成
|
orderStatus: any = '0'; // 订单状态, 10为已提交待付款, 20为已付款待发,30为已发货待收货,50取消订单,40 已完成
|
||||||
nzSelectedIndex = 0;
|
nzSelectedIndex = 0;
|
||||||
total = 1;
|
total = 1;
|
||||||
@ -55,8 +62,10 @@ export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterVi
|
|||||||
addTimeEnd = '';
|
addTimeEnd = '';
|
||||||
sfExpand = false;
|
sfExpand = false;
|
||||||
_$expand = false;
|
_$expand = false;
|
||||||
|
ssdsad: any;
|
||||||
schema!: SFSchema;
|
schema!: SFSchema;
|
||||||
|
schemaAssign!: SFSchema;
|
||||||
|
freightSchema!: SFSchema;
|
||||||
payStatus: any;
|
payStatus: any;
|
||||||
constructor(
|
constructor(
|
||||||
private fb: FormBuilder,
|
private fb: FormBuilder,
|
||||||
@ -70,6 +79,8 @@ export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterVi
|
|||||||
this.getList();
|
this.getList();
|
||||||
this.initSF();
|
this.initSF();
|
||||||
this.initUI();
|
this.initUI();
|
||||||
|
this.initSFFre();
|
||||||
|
this.initSFAssign();
|
||||||
}
|
}
|
||||||
|
|
||||||
ngAfterViewInit() {
|
ngAfterViewInit() {
|
||||||
@ -77,6 +88,98 @@ export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterVi
|
|||||||
//
|
//
|
||||||
// });
|
// });
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 指定客户分组查询参数
|
||||||
|
*/
|
||||||
|
get reqParamsAssign() {
|
||||||
|
const params = Object.assign({});
|
||||||
|
return { ...params, ...this.sfAssign?.value };
|
||||||
|
}
|
||||||
|
change(change: STChange) {
|
||||||
|
console.log(change.checkbox)
|
||||||
|
}
|
||||||
|
initSFFre() {
|
||||||
|
this.freightSchema = {
|
||||||
|
properties: {
|
||||||
|
btn: {
|
||||||
|
type: 'string',
|
||||||
|
title: '是否回单',
|
||||||
|
enum: ['需要', '不需要'],
|
||||||
|
ui: {
|
||||||
|
widget: 'radio',
|
||||||
|
} as SFRadioWidgetSchema,
|
||||||
|
default: '需要',
|
||||||
|
},
|
||||||
|
contactsName: {
|
||||||
|
title: '预付',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
showRequired: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
unifiedSocialCreditCode: {
|
||||||
|
title: '到付',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
showRequired: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
unifiedSocialCreditCode2: {
|
||||||
|
title: '油卡',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
showRequired: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
unifiedSocialCreditCode3: {
|
||||||
|
title: '回单付',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
showRequired: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'小计': { type: 'number', ui: { widget: 'text', defaultText: '5000 text' } as SFTextWidgetSchema },
|
||||||
|
fujia: { type: 'string',title: '附加费', ui: { widget: 'custom'}},
|
||||||
|
manys: { type: 'string',title: '总费用', ui: { widget: 'custom'}},
|
||||||
|
unifiedSocia: { type: 'string',title: '总费用', ui: { widget: 'custom'}},
|
||||||
|
|
||||||
|
},
|
||||||
|
};
|
||||||
|
this.schemaAssign = {
|
||||||
|
properties: {
|
||||||
|
clientGroupName: {
|
||||||
|
title: '分组名称',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
placeholder: '请输入司机姓名/手机号',
|
||||||
|
enter: (e: KeyboardEvent) => {
|
||||||
|
this.stAssign.load();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
clientGroupName2: {
|
||||||
|
title: '分组名称',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
placeholder: '请输入车牌号',
|
||||||
|
enter: (e: KeyboardEvent) => {
|
||||||
|
this.stAssign.load();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
this.uiFre = { '*': { spanLabelFixed: 90, grid: { span: 16 }, enter: () => this.st.load() } };
|
||||||
|
}
|
||||||
|
initSFAssign() {
|
||||||
|
this.ColumnsAssign = [
|
||||||
|
{ title: '', type: 'checkbox', width: '40px', className: 'text-center' },
|
||||||
|
{ title: '司机姓名', index: 'clientGroupName', width: '300px', className: 'text-center' },
|
||||||
|
{ title: '手机号', index: 'clientCount', width: '300px', className: 'text-center' },
|
||||||
|
{ title: '车牌号', index: 'clientCount2', width: '300px', className: 'text-center' },
|
||||||
|
{ title: '状态', index: 'clientCount3', width: '300px', className: 'text-center' },
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
initSF() {
|
initSF() {
|
||||||
this.schema = {
|
this.schema = {
|
||||||
@ -87,33 +190,36 @@ export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterVi
|
|||||||
hidden: true,
|
hidden: true,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
storeName: { title: '企业名称', type: 'string', ui: { showRequired: false } },
|
storeName: { title: '货源编号', type: 'string', ui: { showRequired: false } },
|
||||||
contactsName: {
|
contactsName: {
|
||||||
title: '联系人',
|
title: '货物名称',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
showRequired: false,
|
showRequired: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
unifiedSocialCreditCode: {
|
unifiedSocialCreditCode: {
|
||||||
title: '税源地',
|
title: '装货地',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
ui: {
|
ui: {
|
||||||
showRequired: false,
|
showRequired: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
enStatus: {
|
unifiedSocialCreditCode2: {
|
||||||
|
title: '卸货地',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: '货主状态',
|
|
||||||
enum: [
|
|
||||||
{ label: '全部', value: '' },
|
|
||||||
{ label: '正常', value: 0 },
|
|
||||||
{ label: '冻结', value: 1 },
|
|
||||||
{ label: '废弃', value: 2 },
|
|
||||||
],
|
|
||||||
default: '',
|
|
||||||
ui: {
|
ui: {
|
||||||
widget: 'select',
|
showRequired: false,
|
||||||
|
visibleIf: {
|
||||||
|
expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
unifiedSocialCreditCode3: {
|
||||||
|
title: '货主',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
showRequired: false,
|
||||||
visibleIf: {
|
visibleIf: {
|
||||||
expand: (value: boolean) => value,
|
expand: (value: boolean) => value,
|
||||||
},
|
},
|
||||||
@ -121,7 +227,7 @@ export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterVi
|
|||||||
},
|
},
|
||||||
enStatus2: {
|
enStatus2: {
|
||||||
type: 'string',
|
type: 'string',
|
||||||
title: 'CRM审核状态',
|
title: '审核状态',
|
||||||
enum: [
|
enum: [
|
||||||
{ label: '全部', value: '' },
|
{ label: '全部', value: '' },
|
||||||
{ label: '正常', value: 0 },
|
{ label: '正常', value: 0 },
|
||||||
@ -138,6 +244,7 @@ export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterVi
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
this.ui = { '*': { spanLabelFixed: 90, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } };
|
this.ui = { '*': { spanLabelFixed: 90, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } };
|
||||||
}
|
}
|
||||||
initUI() {
|
initUI() {
|
||||||
@ -149,6 +256,7 @@ export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterVi
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
tabChange(i: number) {
|
tabChange(i: number) {
|
||||||
|
console.log(i)
|
||||||
this.changeIndex(i);
|
this.changeIndex(i);
|
||||||
this.getList();
|
this.getList();
|
||||||
}
|
}
|
||||||
@ -165,12 +273,6 @@ export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterVi
|
|||||||
} else if (i === 3) {
|
} else if (i === 3) {
|
||||||
this.orderStatus = '20';
|
this.orderStatus = '20';
|
||||||
this.payStatus = null;
|
this.payStatus = null;
|
||||||
} else if (i === 4) {
|
|
||||||
this.orderStatus = '30';
|
|
||||||
this.payStatus = null;
|
|
||||||
} else if (i === 5) {
|
|
||||||
this.orderStatus = '40';
|
|
||||||
this.payStatus = null;
|
|
||||||
}
|
}
|
||||||
this.pageIndex = 1;
|
this.pageIndex = 1;
|
||||||
}
|
}
|
||||||
@ -213,7 +315,7 @@ export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterVi
|
|||||||
// this.service.exportStart(params, this.service.$api_export);
|
// this.service.exportStart(params, this.service.$api_export);
|
||||||
this.modal.create({
|
this.modal.create({
|
||||||
nzTitle: '订单导出',
|
nzTitle: '订单导出',
|
||||||
nzContent: this.exportTemplate,
|
// nzContent: this.exportTemplate,
|
||||||
// nzContent: `待导出订单总数:${this.pageInfo.total}条,确定要导出吗?`,
|
// nzContent: `待导出订单总数:${this.pageInfo.total}条,确定要导出吗?`,
|
||||||
nzOnOk: () => {
|
nzOnOk: () => {
|
||||||
const params: any = {
|
const params: any = {
|
||||||
@ -232,10 +334,7 @@ export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterVi
|
|||||||
this.router.navigate(['../order-detail', data.orderSn], { relativeTo: this.ar });
|
this.router.navigate(['../order-detail', data.orderSn], { relativeTo: this.ar });
|
||||||
}
|
}
|
||||||
|
|
||||||
// 批量发货
|
|
||||||
deliverBelivery() {
|
|
||||||
this.router.navigate(['../order-batch-delivery'], { relativeTo: this.ar });
|
|
||||||
}
|
|
||||||
changePageIndex(pageIndex: number) {
|
changePageIndex(pageIndex: number) {
|
||||||
this.pageIndex = pageIndex;
|
this.pageIndex = pageIndex;
|
||||||
this.getList();
|
this.getList();
|
||||||
@ -249,80 +348,22 @@ export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterVi
|
|||||||
this.sf?.setValue('/expand', this.sfExpand);
|
this.sf?.setValue('/expand', this.sfExpand);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 修改运单
|
showApply() {
|
||||||
updateLogistics(data: any) {
|
this.isVisible = true
|
||||||
// 如果是多个运单
|
|
||||||
if (data.deliveryList.length > 1) {
|
|
||||||
this.updateLogisticsList(data);
|
|
||||||
} else {
|
|
||||||
data.deliveryAddrId = data.deliveryList[0].deliveryAddrId;
|
|
||||||
data.deliveryCorpSn = data.deliveryList[0].deliveryCorpSn;
|
|
||||||
data.deliverySn = data.deliveryList[0].deliverySn; // 原物流单号
|
|
||||||
data.expressName = data.deliveryList[0].expressName; // 原物流公司
|
|
||||||
data.sendName = data.deliveryList[0].sendName;
|
|
||||||
data.sendMobile = data.deliveryList[0].sendMobile;
|
|
||||||
data.sendAddr = data.deliveryList[0].sendAddr;
|
|
||||||
data.orderExpressItemVOList = data.deliveryList[0].orderExpressItemVOList; // 运单对应的发货商品信息
|
|
||||||
this.updateLogisticsPop(data);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
showAssign() {
|
||||||
// 修改运单中间页List
|
this.isVisibleAssign = true
|
||||||
updateLogisticsList(data: any) {
|
|
||||||
const modalRef = this.modal.create({
|
|
||||||
nzTitle: '运单信息',
|
|
||||||
nzWidth: 1200,
|
|
||||||
// nzContent: OrderComponentsOrderLogisticsmessageComponent,
|
|
||||||
nzComponentParams: {
|
|
||||||
listData: data,
|
|
||||||
},
|
|
||||||
nzFooter: null,
|
|
||||||
});
|
|
||||||
modalRef.afterClose.subscribe((result) => {
|
|
||||||
if (result === true) {
|
|
||||||
this.getList();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
handleOK() {
|
||||||
|
|
||||||
// 修改运单弹窗
|
|
||||||
updateLogisticsPop(data: any) {
|
|
||||||
const modalRef = this.modal.create({
|
|
||||||
nzTitle: '已发货商品',
|
|
||||||
nzWidth: 1200,
|
|
||||||
// nzContent: OrderComponentsOrderDeliverGoodsUpdateComponent,
|
|
||||||
nzComponentParams: {
|
|
||||||
listData: data,
|
|
||||||
},
|
|
||||||
nzFooter: null,
|
|
||||||
});
|
|
||||||
modalRef.afterClose.subscribe((result) => {
|
|
||||||
if (result === true) {
|
|
||||||
this.getList();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
handleCancel(type: any) {
|
||||||
// 立即发货
|
if(type === 'suppliersType') {
|
||||||
deliverGoods(data: any) {
|
this.isVisible = false
|
||||||
// const modalRef = this.modal.create({
|
} else if(type === 'assign') {
|
||||||
// nzTitle: '订单发货',
|
this.isVisibleAssign = false
|
||||||
// nzWidth: 1200,
|
|
||||||
// nzContent: OrderComponentsOrderDelivergoodsComponent,
|
|
||||||
// nzComponentParams: {
|
|
||||||
// listData: data,
|
|
||||||
// },
|
|
||||||
// nzFooter: null,
|
|
||||||
// });
|
|
||||||
// modalRef.afterOpen.subscribe(() => {});
|
|
||||||
// modalRef.afterClose.subscribe((result) => {
|
|
||||||
// if (result === true) {
|
|
||||||
// this.getList();
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
this.router.navigate(['../order-deliver-goods'], { relativeTo: this.ar });
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 重置表单
|
* 重置表单
|
||||||
*/
|
*/
|
||||||
@ -330,65 +371,12 @@ export class SupplyGoodsComponentListCarloadComponent implements OnInit, AfterVi
|
|||||||
this.sf.reset();
|
this.sf.reset();
|
||||||
this.sfExpand = false;
|
this.sfExpand = false;
|
||||||
}
|
}
|
||||||
/**
|
resetSFAssign() {
|
||||||
* 立即确认
|
this.sfAssign.reset();
|
||||||
*/
|
|
||||||
deliversure(val: any) {
|
|
||||||
const modalRef = this.modal.create({
|
|
||||||
nzTitle: '订单确认',
|
|
||||||
nzWidth: 700,
|
|
||||||
// nzContent: OrderComponentsOrderOrderlistOrderSureComponent,
|
|
||||||
nzComponentParams: {
|
|
||||||
record: val,
|
|
||||||
},
|
|
||||||
nzFooter: null,
|
|
||||||
});
|
|
||||||
modalRef.afterOpen.subscribe(() => {});
|
|
||||||
modalRef.afterClose.subscribe((result) => {
|
|
||||||
if (result === true) {
|
|
||||||
this.getList();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 付款审核
|
|
||||||
*/
|
|
||||||
paymentReview(data: any) {
|
|
||||||
const dialogData = {
|
|
||||||
...data,
|
|
||||||
};
|
|
||||||
// this.modalHelper.create(OrderComponentsOrderOrderlistPaymentReviewComponent, { dialogData }, { size: 900 }).subscribe((res) => {
|
|
||||||
// if (res === '2') {
|
|
||||||
// this.getList();
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 修改价格
|
|
||||||
*/
|
|
||||||
modifyPrice(data: any) {
|
|
||||||
const dialogData = {
|
|
||||||
...data,
|
|
||||||
};
|
|
||||||
// this.modalHelper.create(OrderComponentsOrderOrderlistModifyPriceComponent, { dialogData }, { size: 900 }).subscribe((res) => {
|
|
||||||
// if (res === '2') {
|
|
||||||
// this.getList();
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 审核
|
|
||||||
*/
|
|
||||||
orderReview(data: any) {
|
|
||||||
const dialogData = {
|
|
||||||
...data,
|
|
||||||
};
|
|
||||||
// this.modalHelper.create(OrderReviewComponent, { dialogData }, { size: 900 }).subscribe((res) => {
|
|
||||||
// if (res === '2') {
|
|
||||||
// this.getList();
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询字段个数navigate
|
* 查询字段个数navigate
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -0,0 +1,166 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: your name
|
||||||
|
* @Date: 2021-12-01 09:58:58
|
||||||
|
* @LastEditTime: 2021-12-01 20:00:41
|
||||||
|
* @LastEditors: Please set LastEditors
|
||||||
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
|
* @FilePath: \tms-obc-web\src\app\routes\supply-goods\components\carload\carload.component.html
|
||||||
|
-->
|
||||||
|
|
||||||
|
<nz-card>
|
||||||
|
<!-- 搜索区 -->
|
||||||
|
<!-- 搜索表单 -->
|
||||||
|
<div nz-row nzGutter="8">
|
||||||
|
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
||||||
|
<div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4">
|
||||||
|
<sf
|
||||||
|
#sf
|
||||||
|
[schema]="schema"
|
||||||
|
[ui]="ui"
|
||||||
|
[mode]="'search'"
|
||||||
|
[disabled]="!sf?.valid"
|
||||||
|
(formSubmit)="st?.load(1)"
|
||||||
|
(formReset)="resetSF()"
|
||||||
|
></sf>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- [loading]="service.http.loading" -->
|
||||||
|
|
||||||
|
<!-- 查询字段大于3个时,根据展开状态调整布局 -->
|
||||||
|
<ng-container *ngIf="queryFieldCount > 4">
|
||||||
|
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||||
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
|
||||||
|
</div>
|
||||||
|
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
||||||
|
|
||||||
|
<button nz-button nzType="primary" [disabled]="!sf.valid" (click)="st?.load(1)">查询</button>
|
||||||
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
|
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</ng-container>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
|
<nz-card>
|
||||||
|
<!-- <div class="actionAreaWrap">
|
||||||
|
<button nz-button (click)="orderExport()" nzType="primary">导入货源</button>
|
||||||
|
</div> -->
|
||||||
|
<nz-tabset [nzTabPosition]="'top'" [nzType]="'card'" class="table" [nzSelectedIndex]="nzSelectedIndex">
|
||||||
|
<nz-tab *ngFor="let tab of tabs; let i = index" [nzTitle]="tab" (nzClick)="tabChange(i)">
|
||||||
|
<nz-table
|
||||||
|
#nzTable
|
||||||
|
[nzData]="listData"
|
||||||
|
nzTableLayout="fixed"
|
||||||
|
[nzLoading]="loading"
|
||||||
|
[nzTotal]="total"
|
||||||
|
[nzBordered]="true"
|
||||||
|
[nzScroll]="{ x: '1400px' }"
|
||||||
|
[nzFrontPagination]="false"
|
||||||
|
[nzPageSize]="pageSize"
|
||||||
|
[nzPageIndex]="pageIndex"
|
||||||
|
(nzPageIndexChange)="changePageIndex($event)"
|
||||||
|
[nzShowTotal]="totalTemplate"
|
||||||
|
[nzShowSizeChanger]="true"
|
||||||
|
(nzPageSizeChange)="changePageSize($event)"
|
||||||
|
[nzPageSizeOptions]="[10, 20, 30, 50, 100, 200, 300, 500, 1000]"
|
||||||
|
>
|
||||||
|
<ng-template #totalTemplate let-total> 共 {{ total }} 条 </ng-template>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th nzAlign="center" nzWidth="100px">货源编号</th>
|
||||||
|
<th nzWidth="100px" nzAlign="center">货源类型</th>
|
||||||
|
<th nzWidth="100px" nzAlign="center">货主</th>
|
||||||
|
<th nzWidth="100px" nzAlign="center">项目名称</th>
|
||||||
|
<th nzWidth="100px" nzAlign="center">关联运单</th>
|
||||||
|
<th nzWidth="100px" nzAlign="center">货物信息</th>
|
||||||
|
<th nzWidth="100px" nzAlign="center">装货地</th>
|
||||||
|
<th nzWidth="100px" nzAlign="center">卸货地</th>
|
||||||
|
<th nzWidth="100px" nzAlign="center">用车需求</th>
|
||||||
|
<th nzWidth="100px" nzAlign="center">运费单价</th>
|
||||||
|
<th nzWidth="160px" nzAlign="center">结算重量</th>
|
||||||
|
<th nzWidth="160px" nzAlign="center">录单员</th>
|
||||||
|
<th nzWidth="160px" nzAlign="center">调度员</th>
|
||||||
|
<th nzWidth="160px" nzAlign="center">货源状态</th>
|
||||||
|
<th nzWidth="160px" nzAlign="center">截止时间</th>
|
||||||
|
<th nzWidth="160px" nzAlign="center">创建时间</th>
|
||||||
|
<th nzWidth="120px" nzAlign="center">审核状态</th>
|
||||||
|
<th nzWidth="120px" nzAlign="center">操作</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr *ngFor="let data of nzTable.data">
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div><span style="color: #52c41a;">●</span>已接单</div>
|
||||||
|
<div><span >●</span>已取消</div>
|
||||||
|
<div><span style="color: #f59a23;">●</span>待接单</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
{{data.id3}}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div>
|
||||||
|
<div><span style="color: #52c41a;">●</span>审核通过</div>
|
||||||
|
<div><span style="color: #d9001b;">●</span>不通过</div>
|
||||||
|
<div><span style="color: #f59a23;">●</span>待审核</div>
|
||||||
|
<!-- <span>待审核</span> -->
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div>
|
||||||
|
<a nz-button nzType="link" (click)="showApply()">货源审核</a>
|
||||||
|
<a nz-button nzType="link" (click)="showApply()">修改运费</a>
|
||||||
|
<a nz-button nzType="link" nzDanger (click)="showApply()">指派熟车</a>
|
||||||
|
<a nz-button nzType="link" nzDanger (click)="showApply()">修改单价</a>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</nz-table>
|
||||||
|
</nz-tab>
|
||||||
|
</nz-tabset>
|
||||||
|
</nz-card>
|
||||||
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
.status-point {
|
||||||
|
display: inline-block;
|
||||||
|
width: 6px;
|
||||||
|
height: 6px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
/*
|
||||||
|
* @Description:
|
||||||
|
* @Author: wsm
|
||||||
|
* @Date: 2021-07-08 15:46:29
|
||||||
|
* @LastEditTime: 2021-12-01 10:02:07
|
||||||
|
* @LastEditors: Please set LastEditors
|
||||||
|
* @Reference:
|
||||||
|
*/
|
||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { SupplyGoodsComponentListLargeAmountComponent } from './large-amount.component';
|
||||||
|
|
||||||
|
describe('SupplyGoodsComponentListLargeAmountComponent', () => {
|
||||||
|
let component: SupplyGoodsComponentListLargeAmountComponent;
|
||||||
|
let fixture: ComponentFixture<SupplyGoodsComponentListLargeAmountComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [SupplyGoodsComponentListLargeAmountComponent],
|
||||||
|
}).compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(SupplyGoodsComponentListLargeAmountComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,252 @@
|
|||||||
|
/*
|
||||||
|
* @Description:
|
||||||
|
* @Author: wsm
|
||||||
|
* @Date: 2021-07-15 09:42:57
|
||||||
|
* @LastEditTime: 2021-12-01 15:06:11
|
||||||
|
* @LastEditors: Please set LastEditors
|
||||||
|
* @Reference:
|
||||||
|
*/
|
||||||
|
import { AfterViewInit, Component, OnInit, TemplateRef, ViewChild } from '@angular/core';
|
||||||
|
import { FormBuilder, FormGroup } from '@angular/forms';
|
||||||
|
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
|
||||||
|
import { STComponent } from '@delon/abc/st';
|
||||||
|
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
|
||||||
|
import { ModalHelper } from '@delon/theme';
|
||||||
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
|
import { filter } from 'rxjs/operators';
|
||||||
|
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-supply-goods-components-list-large-amount',
|
||||||
|
templateUrl: './large-amount.component.html',
|
||||||
|
styleUrls: ['./large-amount.component.less'],
|
||||||
|
})
|
||||||
|
export class SupplyGoodsComponentListLargeAmountComponent implements OnInit, AfterViewInit {
|
||||||
|
@ViewChild('st', { static: true }) st!: STComponent;
|
||||||
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
|
validateForm!: FormGroup;
|
||||||
|
@ViewChild('exportTemplate')
|
||||||
|
exportTemplate!: TemplateRef<any>;
|
||||||
|
ui: SFUISchema = {};
|
||||||
|
mode: any = 'search';
|
||||||
|
tabs = ['全部', '进行中', '已完结', '已取消'];
|
||||||
|
listData: any =[
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
id2: 2,
|
||||||
|
id3:3,
|
||||||
|
id4: 4,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
orderStatus: any = '0'; // 订单状态, 10为已提交待付款, 20为已付款待发,30为已发货待收货,50取消订单,40 已完成
|
||||||
|
nzSelectedIndex = 0;
|
||||||
|
total = 1;
|
||||||
|
loading = false;
|
||||||
|
pageSize = 20;
|
||||||
|
pageIndex = 1;
|
||||||
|
toSendCount = 0;
|
||||||
|
addTimeStart = '';
|
||||||
|
addTimeEnd = '';
|
||||||
|
sfExpand = false;
|
||||||
|
_$expand = false;
|
||||||
|
|
||||||
|
schema!: SFSchema;
|
||||||
|
payStatus: any;
|
||||||
|
constructor(
|
||||||
|
private fb: FormBuilder,
|
||||||
|
private modal: NzModalService,
|
||||||
|
private router: Router,
|
||||||
|
private ar: ActivatedRoute,
|
||||||
|
private modalHelper: ModalHelper,
|
||||||
|
) {}
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.getList();
|
||||||
|
this.initSF();
|
||||||
|
this.initUI();
|
||||||
|
}
|
||||||
|
|
||||||
|
ngAfterViewInit() {
|
||||||
|
// this.router.events.pipe(filter((evt) => evt instanceof NavigationEnd)).subscribe(() => {
|
||||||
|
//
|
||||||
|
// });
|
||||||
|
}
|
||||||
|
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
expand: {
|
||||||
|
type: 'boolean',
|
||||||
|
ui: {
|
||||||
|
hidden: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
storeName: { title: '货源编号', type: 'string', ui: { showRequired: false } },
|
||||||
|
contactsName: {
|
||||||
|
title: '货物名称',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
showRequired: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
unifiedSocialCreditCode: {
|
||||||
|
title: '装货地',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
showRequired: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
unifiedSocialCreditCode2: {
|
||||||
|
title: '卸货地',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
showRequired: false,
|
||||||
|
visibleIf: {
|
||||||
|
expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
enStatus2: {
|
||||||
|
type: 'string',
|
||||||
|
title: '录单员',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '正常', value: 0 },
|
||||||
|
{ label: '冻结', value: 1 },
|
||||||
|
{ label: '废弃', value: 2 },
|
||||||
|
],
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
visibleIf: {
|
||||||
|
expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
this.ui = { '*': { spanLabelFixed: 90, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } };
|
||||||
|
}
|
||||||
|
initUI() {
|
||||||
|
this.ui = {
|
||||||
|
'*': {
|
||||||
|
spanLabelFixed: 90,
|
||||||
|
grid: { span: 8 },
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
tabChange(i: number) {
|
||||||
|
console.log(i)
|
||||||
|
this.changeIndex(i);
|
||||||
|
this.getList();
|
||||||
|
}
|
||||||
|
changeIndex(i: number) {
|
||||||
|
if (i === 0) {
|
||||||
|
this.orderStatus = '0';
|
||||||
|
this.payStatus = null;
|
||||||
|
} else if (i === 1) {
|
||||||
|
this.orderStatus = '5';
|
||||||
|
this.payStatus = null;
|
||||||
|
} else if (i === 2) {
|
||||||
|
this.orderStatus = null;
|
||||||
|
this.payStatus = '10';
|
||||||
|
} else if (i === 3) {
|
||||||
|
this.orderStatus = '20';
|
||||||
|
this.payStatus = null;
|
||||||
|
}
|
||||||
|
this.pageIndex = 1;
|
||||||
|
}
|
||||||
|
getList(type?: string) {
|
||||||
|
// this.loading = true;
|
||||||
|
const params: any = {
|
||||||
|
pageSize: this.pageSize,
|
||||||
|
pageIndex: this.pageIndex,
|
||||||
|
...this.sf?.value,
|
||||||
|
orderStatus: this.orderStatus,
|
||||||
|
payStatus: this.payStatus,
|
||||||
|
createTime: this.sf?.value.createTime || [],
|
||||||
|
time: {},
|
||||||
|
};
|
||||||
|
if (this.sf?.value?.createTime) {
|
||||||
|
delete params.createTime;
|
||||||
|
params.time.start = this.sf?.value?.createTime[0];
|
||||||
|
params.time.end = this.sf?.value?.createTime[1];
|
||||||
|
}
|
||||||
|
delete params.expand;
|
||||||
|
if (type === 'search') {
|
||||||
|
params.pageIndex = 1;
|
||||||
|
}
|
||||||
|
// this.service.request(this.service.$api_get_page, params).subscribe((res) => {
|
||||||
|
// this.loading = false;
|
||||||
|
// this.listData = res.orderPage.records;
|
||||||
|
// this.toSendCount = res.toSendCount;
|
||||||
|
// this.listData.forEach((element: { goodsList: { goodsSpecJson: string }[] }) => {
|
||||||
|
// element.goodsList.forEach((item: { goodsSpecJson: string }) => {
|
||||||
|
// if (item.goodsSpecJson) {
|
||||||
|
// item.goodsSpecJson = JSON.parse(item.goodsSpecJson);
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
// this.total = res.orderPage.total;
|
||||||
|
// });
|
||||||
|
}
|
||||||
|
|
||||||
|
orderExport() {
|
||||||
|
// this.service.exportStart(params, this.service.$api_export);
|
||||||
|
this.modal.create({
|
||||||
|
nzTitle: '订单导出',
|
||||||
|
nzContent: this.exportTemplate,
|
||||||
|
// nzContent: `待导出订单总数:${this.pageInfo.total}条,确定要导出吗?`,
|
||||||
|
nzOnOk: () => {
|
||||||
|
const params: any = {
|
||||||
|
pageSize: this.pageSize,
|
||||||
|
pageIndex: this.pageIndex,
|
||||||
|
...this.sf?.value,
|
||||||
|
orderStatus: this.orderStatus,
|
||||||
|
// createTime: this.sf?.value.createTime || [],
|
||||||
|
};
|
||||||
|
delete params.expand;
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
goDetail(data: any) {
|
||||||
|
this.router.navigate(['../order-detail', data.orderSn], { relativeTo: this.ar });
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
changePageIndex(pageIndex: number) {
|
||||||
|
this.pageIndex = pageIndex;
|
||||||
|
this.getList();
|
||||||
|
}
|
||||||
|
changePageSize(value: number) {
|
||||||
|
this.pageSize = value;
|
||||||
|
this.getList();
|
||||||
|
}
|
||||||
|
expandToggle() {
|
||||||
|
this.sfExpand = !this.sfExpand;
|
||||||
|
this.sf?.setValue('/expand', this.sfExpand);
|
||||||
|
}
|
||||||
|
|
||||||
|
showApply() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重置表单
|
||||||
|
*/
|
||||||
|
resetSF() {
|
||||||
|
this.sf.reset();
|
||||||
|
this.sfExpand = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询字段个数navigate
|
||||||
|
*/
|
||||||
|
get queryFieldCount(): number {
|
||||||
|
return Object.keys(this.schema?.properties || {}).length;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,19 +1,17 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: your name
|
* @Author: your name
|
||||||
* @Date: 2021-12-01 09:25:32
|
* @Date: 2021-12-01 09:25:32
|
||||||
* @LastEditTime: 2021-12-01 10:03:18
|
* @LastEditTime: 2021-12-01 10:55:15
|
||||||
* @LastEditors: Please set LastEditors
|
* @LastEditors: Please set LastEditors
|
||||||
* @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\supply-goods\components\list\list.component.html
|
* @FilePath: \tms-obc-web\src\app\routes\supply-goods\components\list\list.component.html
|
||||||
-->
|
-->
|
||||||
<page-header-wrapper [title]="''"></page-header-wrapper>
|
<page-header-wrapper [title]="''" ></page-header-wrapper>
|
||||||
<nz-card>
|
|
||||||
<nz-tabset [nzSelectedIndex]="nzSelectedIndex">
|
<nz-tabset [nzSelectedIndex]="nzSelectedIndex">
|
||||||
<nz-tab nzTitle="整车货源">
|
<nz-tab nzTitle="整车货源">
|
||||||
<app-supply-goods-components-list-carload></app-supply-goods-components-list-carload>
|
<app-supply-goods-components-list-carload></app-supply-goods-components-list-carload>
|
||||||
</nz-tab>
|
</nz-tab>
|
||||||
<nz-tab nzTitle="大宗货源">
|
<nz-tab nzTitle="大宗货源">
|
||||||
|
<app-supply-goods-components-list-large-amount></app-supply-goods-components-list-large-amount>
|
||||||
</nz-tab>
|
</nz-tab>
|
||||||
</nz-tabset>
|
</nz-tabset>
|
||||||
</nz-card>
|
|
||||||
|
|||||||
@ -1,20 +1,22 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: your name
|
* @Author: your name
|
||||||
* @Date: 2021-11-29 15:22:34
|
* @Date: 2021-11-29 15:22:34
|
||||||
* @LastEditTime: 2021-12-01 10:03:01
|
* @LastEditTime: 2021-12-01 15:03:22
|
||||||
* @LastEditors: Please set LastEditors
|
* @LastEditors: Please set LastEditors
|
||||||
* @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
|
||||||
*/
|
*/
|
||||||
import { NgModule } from '@angular/core';
|
import { NgModule } from '@angular/core';
|
||||||
import { SharedModule } from '@shared';
|
import { SharedModule } from '@shared';
|
||||||
import { SupplyGoodsComponentListCarloadComponent } from './components/carload/carload.component';
|
import { SupplyGoodsComponentListCarloadComponent } from './components/carload/carload.component';
|
||||||
|
import { SupplyGoodsComponentListLargeAmountComponent } from './components/large-amount/large-amount.component';
|
||||||
import { SupplyGoodsComponentListComponent } from './components/list/list.component';
|
import { SupplyGoodsComponentListComponent } from './components/list/list.component';
|
||||||
|
|
||||||
import { SupplyGoodsRoutingModule } from './supply-goods-routing.module';
|
import { SupplyGoodsRoutingModule } from './supply-goods-routing.module';
|
||||||
|
|
||||||
const COMPONENTS = [
|
const COMPONENTS = [
|
||||||
SupplyGoodsComponentListComponent,
|
SupplyGoodsComponentListComponent,
|
||||||
SupplyGoodsComponentListCarloadComponent
|
SupplyGoodsComponentListCarloadComponent,
|
||||||
|
SupplyGoodsComponentListLargeAmountComponent
|
||||||
];
|
];
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
|
|||||||
@ -0,0 +1,289 @@
|
|||||||
|
<ng-container >
|
||||||
|
<!-- 页头 -->
|
||||||
|
<page-header-wrapper [logo]="logo" [action]="action" [content]="content">
|
||||||
|
<ng-template #logo>
|
||||||
|
<button nz-button nz-tooltip nzTooltipTitle="返回上一页" (click)="goBack()">
|
||||||
|
<i nz-icon nzType="left" nzTheme="outline"></i>
|
||||||
|
</button>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template #content>
|
||||||
|
<div class="user-info">
|
||||||
|
<img [src]="detailData?.shoppFeignVO?.logoUrl" />
|
||||||
|
<div style="flex: 1">
|
||||||
|
<div style="display: flex;">
|
||||||
|
<p style="padding-right: 80px; width: 400px;">深圳市xxxx科技有限公司{{ detailData?.shoppFeignVO?.publicity }}</p>
|
||||||
|
<nz-badge nzStatus="success" nzText="正常" *ngIf="detailData?.status === 0"></nz-badge>
|
||||||
|
<nz-badge nzStatus="error" nzText="冻结" *ngIf="detailData?.status === 1"></nz-badge>
|
||||||
|
<nz-badge nzStatus="warning" nzText="废弃" *ngIf="detailData?.status === 2"></nz-badge>
|
||||||
|
</div>
|
||||||
|
<div style="display: flex;">
|
||||||
|
<p style="padding-right: 80px; width: 400px;">4545456655645{{ detailData?.shoppFeignVO?.introduction }}</p>
|
||||||
|
<p >认证时间:2021-09-02 12.53.32</p>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
服务评级:<nz-rate [ngModel]="2" nzDisabled></nz-rate>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div style="position: relative;top: -65%;
|
||||||
|
left: 75%;">
|
||||||
|
<button
|
||||||
|
[nzLoading]="service.http.loading"
|
||||||
|
nz-button
|
||||||
|
nzDanger
|
||||||
|
nz-popconfirm
|
||||||
|
[nzPopconfirmTitle]="enable"
|
||||||
|
(nzOnConfirm)="freezeOrResume(0)"
|
||||||
|
nzPopconfirmPlacement="bottomRight"
|
||||||
|
>
|
||||||
|
启用
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
[nzLoading]="service.http.loading"
|
||||||
|
nz-button
|
||||||
|
nzDanger
|
||||||
|
nz-popconfirm
|
||||||
|
[nzPopconfirmTitle]="frozen"
|
||||||
|
(nzOnConfirm)="freezeOrResume(1)"
|
||||||
|
nzPopconfirmPlacement="bottomRight"
|
||||||
|
>
|
||||||
|
冻结
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
[nzLoading]="service.http.loading"
|
||||||
|
nz-button
|
||||||
|
nzDanger
|
||||||
|
nz-popconfirm
|
||||||
|
[nzPopconfirmTitle]="Payfrozen"
|
||||||
|
(nzOnConfirm)="PayOrResume(0)"
|
||||||
|
nzPopconfirmPlacement="bottomRight"
|
||||||
|
>
|
||||||
|
开通支付权限
|
||||||
|
</button>
|
||||||
|
<button
|
||||||
|
[nzLoading]="service.http.loading"
|
||||||
|
nz-button
|
||||||
|
nzDanger
|
||||||
|
nz-popconfirm
|
||||||
|
[nzPopconfirmTitle]="Payenable"
|
||||||
|
(nzOnConfirm)="PayOrResume(1)"
|
||||||
|
nzPopconfirmPlacement="bottomRight"
|
||||||
|
>
|
||||||
|
关闭支付权限
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template #action> </ng-template>
|
||||||
|
|
||||||
|
<ng-template #frozen>
|
||||||
|
<div class="ant-popover-message">
|
||||||
|
<i nz-icon="" nztheme="fill" class="anticon anticon-exclamation-circle ng-star-inserted">
|
||||||
|
<svg
|
||||||
|
viewBox="64 64 896 896"
|
||||||
|
focusable="false"
|
||||||
|
fill="currentColor"
|
||||||
|
width="1em"
|
||||||
|
height="1em"
|
||||||
|
class="ng-tns-c358-1487"
|
||||||
|
data-icon="exclamation-circle"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
</i>
|
||||||
|
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">确定冻结该企业吗?</div>
|
||||||
|
<div class="ant-popover-message-title ng-star-inserted">
|
||||||
|
停用后,该企业将被限制使用,不限于访问受限、无法发布货源等,请谨慎操作
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template #enable>
|
||||||
|
<div class="ant-popover-message">
|
||||||
|
<i nz-icon="" nztheme="fill" class="anticon anticon-exclamation-circle ng-star-inserted">
|
||||||
|
<svg
|
||||||
|
viewBox="64 64 896 896"
|
||||||
|
focusable="false"
|
||||||
|
fill="currentColor"
|
||||||
|
width="1em"
|
||||||
|
height="1em"
|
||||||
|
class="ng-tns-c358-1487"
|
||||||
|
data-icon="exclamation-circle"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
</i>
|
||||||
|
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">确定启用该企业吗?</div>
|
||||||
|
<div class="ant-popover-message-title ng-star-inserted">
|
||||||
|
启用后,该企业将恢复正常使用功能,请再次确认
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template #Payenable>
|
||||||
|
<div class="ant-popover-message">
|
||||||
|
<i nz-icon="" nztheme="fill" class="anticon anticon-exclamation-circle ng-star-inserted">
|
||||||
|
<svg
|
||||||
|
viewBox="64 64 896 896"
|
||||||
|
focusable="false"
|
||||||
|
fill="currentColor"
|
||||||
|
width="1em"
|
||||||
|
height="1em"
|
||||||
|
class="ng-tns-c358-1487"
|
||||||
|
data-icon="exclamation-circle"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
</i>
|
||||||
|
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">确定关闭该企业支付权限吗?</div>
|
||||||
|
<div class="ant-popover-message-title ng-star-inserted">
|
||||||
|
停用后,该企业将被限制使用支付功能,请谨慎操作
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template #Payfrozen>
|
||||||
|
<div class="ant-popover-message">
|
||||||
|
<i nz-icon="" nztheme="fill" class="anticon anticon-exclamation-circle ng-star-inserted">
|
||||||
|
<svg
|
||||||
|
viewBox="64 64 896 896"
|
||||||
|
focusable="false"
|
||||||
|
fill="currentColor"
|
||||||
|
width="1em"
|
||||||
|
height="1em"
|
||||||
|
class="ng-tns-c358-1487"
|
||||||
|
data-icon="exclamation-circle"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
</i>
|
||||||
|
<div class="ant-popover-message-title ng-star-inserted self-ant-popover-title" style="font-size: 16px">确定开通该企业支付权限吗?</div>
|
||||||
|
<div class="ant-popover-message-title ng-star-inserted">
|
||||||
|
启用后,该企业将恢复正常支付功能,请再次确认
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
</page-header-wrapper>
|
||||||
|
<nz-card>
|
||||||
|
<sv-container col="3">
|
||||||
|
<sv-title>联系信息人</sv-title>
|
||||||
|
<sv label="联系人">
|
||||||
|
{{ detailData?.contactsName }}
|
||||||
|
</sv>
|
||||||
|
<sv label="联系人手机号">
|
||||||
|
{{ detailData?.contactsPhone }}
|
||||||
|
</sv>
|
||||||
|
<sv label="联系人身份证号">
|
||||||
|
{{ detailData?.contactsPhone }}
|
||||||
|
</sv>
|
||||||
|
<sv label="企业授权函">
|
||||||
|
<!-- <app-imagelist [imgList]="detailData?.enterpriseQualificationCertificate"></app-imagelist> -->
|
||||||
|
</sv>
|
||||||
|
</sv-container>
|
||||||
|
<nz-divider></nz-divider>
|
||||||
|
<sv-container col="3" class="mt16">
|
||||||
|
<sv-title>公司基本信息</sv-title>
|
||||||
|
<sv label="公司名称">
|
||||||
|
{{ detailData?.enterpriseName }}
|
||||||
|
</sv>
|
||||||
|
<sv label="统一社会信用代码">
|
||||||
|
{{ detailData?.unifiedSocialCreditCode }}
|
||||||
|
</sv>
|
||||||
|
<sv label="公司类型">
|
||||||
|
{{ detailData?.enterpriseType }}
|
||||||
|
</sv>
|
||||||
|
<sv label="注册资本">
|
||||||
|
{{ detailData?.registrationCapital }}
|
||||||
|
<span *ngIf="detailData?.registrationCapital">万元</span>
|
||||||
|
</sv>
|
||||||
|
<sv label="成立日期">
|
||||||
|
{{ detailData?.enterpriseRegistrationTime }}
|
||||||
|
</sv>
|
||||||
|
<sv label="营业期限">
|
||||||
|
<div *ngIf="!!detailData?.operatingStartTime && !!detailData?.operatingEndTime">
|
||||||
|
{{ detailData?.operatingStartTime }} 至 {{ detailData?.operatingEndTime }}
|
||||||
|
</div>
|
||||||
|
<div *ngIf="!detailData?.operatingStartTime && !detailData?.operatingEndTime">长期</div>
|
||||||
|
<div *ngIf="!!detailData?.operatingStartTime && !detailData?.operatingEndTime">{{ detailData?.operatingStartTime }} 至 长期</div>
|
||||||
|
</sv>
|
||||||
|
</sv-container>
|
||||||
|
<sv-container col="2" class="mt16">
|
||||||
|
<sv label="公司所在地" col="3">
|
||||||
|
{{ detailData?.enterpriseAddressCodeStr }}
|
||||||
|
</sv>
|
||||||
|
<sv label="公司详细地址">
|
||||||
|
{{ detailData?.enterpriseAddress }}
|
||||||
|
</sv>
|
||||||
|
</sv-container>
|
||||||
|
<sv-container col="2" class="mt16">
|
||||||
|
<sv label="公司实际经营所在地" col="3">
|
||||||
|
{{ detailData?.enterpriseAddressCodeStr }}
|
||||||
|
</sv>
|
||||||
|
<sv label="公司实际经营详细地址">
|
||||||
|
{{ detailData?.enterpriseAddress }}
|
||||||
|
</sv>
|
||||||
|
</sv-container>
|
||||||
|
<sv-container col="2" class="mt16">
|
||||||
|
<sv label="公司电话" col="3">
|
||||||
|
{{ detailData?.enterpriseAddressCodeStr }}
|
||||||
|
</sv>
|
||||||
|
<sv label="公司邮箱">
|
||||||
|
{{ detailData?.enterpriseAddress }}
|
||||||
|
</sv>
|
||||||
|
</sv-container>
|
||||||
|
<sv-container col="1" class="mt16">
|
||||||
|
<sv label="经营范围">
|
||||||
|
{{ detailData?.businessScope }}
|
||||||
|
</sv>
|
||||||
|
<sv label="营业执照">
|
||||||
|
<!-- <app-imagelist [imgList]="detailData?.enterpriseQualificationCertificate"></app-imagelist> -->
|
||||||
|
</sv>
|
||||||
|
</sv-container>
|
||||||
|
<nz-divider></nz-divider>
|
||||||
|
<sv-container col="3" class="mt16">
|
||||||
|
<sv-title>法人信息</sv-title>
|
||||||
|
<sv label="法定代表人">
|
||||||
|
{{ detailData?.name }}
|
||||||
|
</sv>
|
||||||
|
<sv label="身份证号">
|
||||||
|
{{ detailData?.certificateNumber }}
|
||||||
|
</sv>
|
||||||
|
<sv label="身份证有效期">
|
||||||
|
{{ detailData?.validStartTime }} -
|
||||||
|
{{ detailData?.validEndTime ? detailData?.validEndTime : '长期' }}
|
||||||
|
</sv>
|
||||||
|
<sv label="身份证照" col="1">
|
||||||
|
<!-- <app-imagelist [imgList]="detailData?.certificatePhoto"></app-imagelist> -->
|
||||||
|
</sv>
|
||||||
|
</sv-container>
|
||||||
|
<nz-divider></nz-divider>
|
||||||
|
<sv-container col="3" class="mt16">
|
||||||
|
<sv-title>银行结算信息</sv-title>
|
||||||
|
<sv label="开户名称">
|
||||||
|
{{ detailData?.name }}
|
||||||
|
</sv>
|
||||||
|
<sv label="开户账户">
|
||||||
|
{{ detailData?.certificateNumber }}
|
||||||
|
</sv>
|
||||||
|
<sv label="开户支行">
|
||||||
|
{{ detailData?.validStartTime }}
|
||||||
|
</sv>
|
||||||
|
</sv-container>
|
||||||
|
</nz-card>
|
||||||
|
</ng-container>
|
||||||
|
<nz-modal [(nzVisible)]="isVisible" nzTitle="类型" (nzOnOk)="handleOK('suppliersType')">
|
||||||
|
<sf #sf1 [schema]="schema1" [ui]="ui" [compact]="false" [button]="'none'" [formData]="suppliersData"></sf>
|
||||||
|
<div *nzModalFooter>
|
||||||
|
<button nz-button nzType="default" (click)="handleCancel('suppliersType')">取消</button>
|
||||||
|
<button nz-button nzType="primary" (click)="handleOK('suppliersType')" [disabled]="!sf1.valid">确认</button>
|
||||||
|
</div>
|
||||||
|
</nz-modal>
|
||||||
@ -0,0 +1,46 @@
|
|||||||
|
@import '~@delon/theme/index';
|
||||||
|
:host {
|
||||||
|
::ng-deep {
|
||||||
|
.ant-steps-dot {
|
||||||
|
.ant-steps-item-content {
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
.ant-steps-item-icon {
|
||||||
|
margin-left: 96px;
|
||||||
|
}
|
||||||
|
.ant-steps-item-tail::after {
|
||||||
|
margin-left: 40px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.success {
|
||||||
|
color: @success-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.warning {
|
||||||
|
color: @warning-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error {
|
||||||
|
color: @error-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.mt16 {
|
||||||
|
margin-top: 16px;
|
||||||
|
}
|
||||||
|
.user-info {
|
||||||
|
display: flex;
|
||||||
|
font-size: 16px;
|
||||||
|
.enterprise-name {
|
||||||
|
margin-right: 15px;
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
width: 64px;
|
||||||
|
height: 64px;
|
||||||
|
margin-right: 15px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
.user-info-des {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
/*
|
||||||
|
* @Author: your name
|
||||||
|
* @Date: 2021-11-29 20:19:08
|
||||||
|
* @LastEditTime: 2021-11-29 20:31:00
|
||||||
|
* @LastEditors: your name
|
||||||
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
|
* @FilePath: \tms-obc-web\src\app\routes\usercenter\components\freight\list\detail\detail.component.spec.ts
|
||||||
|
*/
|
||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { FreightComponentsListDetailComponent } from './detail.component';
|
||||||
|
|
||||||
|
describe('FreightComponentsListDetailComponent', () => {
|
||||||
|
let component: FreightComponentsListDetailComponent;
|
||||||
|
let fixture: ComponentFixture<FreightComponentsListDetailComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [FreightComponentsListDetailComponent],
|
||||||
|
}).compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(FreightComponentsListDetailComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,255 @@
|
|||||||
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { STColumn, STComponent } from '@delon/abc/st';
|
||||||
|
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
|
||||||
|
import { ModalHelper, _HttpClient } from '@delon/theme';
|
||||||
|
import { NzMessageService } from 'ng-zorro-antd/message';
|
||||||
|
import { UsermanageService } from '../../../../services/usercenter.service';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-supplier-components-list-view',
|
||||||
|
templateUrl: './detail.component.html',
|
||||||
|
styleUrls: ['./detail.component.less'],
|
||||||
|
})
|
||||||
|
export class FreightComponentsListDetailComponent implements OnInit {
|
||||||
|
i: any;
|
||||||
|
url = `/rule?_allow_anonymous=true`;
|
||||||
|
@ViewChild('st', { static: false }) st!: STComponent;
|
||||||
|
detailData: any;
|
||||||
|
isShow = false;
|
||||||
|
isVisible = false;
|
||||||
|
modalTitle = '有效期';
|
||||||
|
modalName = '';
|
||||||
|
ui!: SFUISchema;
|
||||||
|
schema!: SFSchema;
|
||||||
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
|
schema1!: SFSchema;
|
||||||
|
@ViewChild('sf1', { static: false }) sf1!: SFComponent;
|
||||||
|
validData: any = ['suppliersType'];
|
||||||
|
suppliersData: any = {};
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
private http: _HttpClient,
|
||||||
|
private modal: ModalHelper,
|
||||||
|
public service: UsermanageService,
|
||||||
|
private route: ActivatedRoute,
|
||||||
|
private modalHelper: ModalHelper,
|
||||||
|
private msgSrv: NzMessageService,
|
||||||
|
) {}
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
console.log(this.route.snapshot);
|
||||||
|
// this.initData();
|
||||||
|
this.initSF();
|
||||||
|
this.initSF1();
|
||||||
|
// this.launchSign();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 初始化查询表单
|
||||||
|
*/
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
|
effectiveDate: {
|
||||||
|
title: '有效期',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
widget: 'date',
|
||||||
|
format: 'yyyy-MM-dd 00:00:00',
|
||||||
|
// hidden: this.modalName === 'effectiveDate' ? false : true,
|
||||||
|
} as SFDateWidgetSchema,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: ['effectiveDate'],
|
||||||
|
};
|
||||||
|
this.ui = { '*': { spanLabelFixed: 120, grid: { span: 24 } } };
|
||||||
|
}
|
||||||
|
initSF1() {
|
||||||
|
this.schema1 = {
|
||||||
|
properties: {
|
||||||
|
_$expand: { type: 'boolean', ui: { hidden: true } },
|
||||||
|
suppliersType: {
|
||||||
|
type: 'string',
|
||||||
|
title: '类型',
|
||||||
|
enum: [
|
||||||
|
{ label: '非外部供应商', value: 0 },
|
||||||
|
{ label: '外部供应商', value: 1 },
|
||||||
|
],
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
change: (args: any) => {
|
||||||
|
console.log(args, 'args');
|
||||||
|
this.suppliersData.suppliersType = args;
|
||||||
|
if (args === 1) {
|
||||||
|
this.validData = ['suppliersType', 'externalSuppliersId'];
|
||||||
|
} else {
|
||||||
|
this.validData = ['suppliersType'];
|
||||||
|
this.suppliersData.externalSuppliersId = '';
|
||||||
|
}
|
||||||
|
this.initSF1();
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
externalSuppliersId: {
|
||||||
|
title: '外部供应商id',
|
||||||
|
type: 'string',
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
visibleIf: { suppliersType: (value: any) => value === 1 },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
required: this.validData,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
showModal(name: any) {
|
||||||
|
this.modalName = name;
|
||||||
|
if (name === 'effectiveDate') {
|
||||||
|
this.isShow = true;
|
||||||
|
} else {
|
||||||
|
this.isVisible = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async initData() {
|
||||||
|
console.log(this.route.snapshot, 'this.route.snapshot');
|
||||||
|
|
||||||
|
const params = {
|
||||||
|
tenantId: this.route.snapshot.params.id,
|
||||||
|
// tenantId: this.route.snapshot.queryParams.tenantId,
|
||||||
|
};
|
||||||
|
const res = await this.service.asyncRequest(this.service.$api_get_supplier_info, params);
|
||||||
|
// // 商品资质
|
||||||
|
// if (res.enterpriseBusinessJson) {
|
||||||
|
// res.enterpriseBusinessJson.aptitudes = res.enterpriseBusinessJson?.aptitudes ? res.enterpriseBusinessJson.aptitudes.split(',') : [];
|
||||||
|
// }
|
||||||
|
// // // 申请人身份证证件
|
||||||
|
// // res.applyUserJson.imagelist = [];
|
||||||
|
// // res.applyUserJson.imagelist.push(res.applyUserJson.certificatePhotoFront);
|
||||||
|
// // res.applyUserJson.imagelist.push(res.applyUserJson.certificatePhotoBack);
|
||||||
|
// // res.applyUserJson.imagelist.push(res.applyUserJson.handCertificate);
|
||||||
|
|
||||||
|
// 法人身份证证件
|
||||||
|
const imagelist = [];
|
||||||
|
imagelist.push(res?.certificatePhotoFront);
|
||||||
|
imagelist.push(res?.certificatePhotoBack);
|
||||||
|
res.certificatePhoto = imagelist;
|
||||||
|
|
||||||
|
// 营业执照
|
||||||
|
res.enterpriseQualificationCertificate = res.enterpriseQualificationCertificate
|
||||||
|
? res.enterpriseQualificationCertificate.split(',')
|
||||||
|
: [];
|
||||||
|
|
||||||
|
// 返回所在地
|
||||||
|
res.enterpriseAddressCodeStr = await this.getRegionFullName(res.enterpriseAddressCode);
|
||||||
|
|
||||||
|
this.detailData = res;
|
||||||
|
this.suppliersData = {
|
||||||
|
suppliersType: res?.suppliersType,
|
||||||
|
externalSuppliersId: res?.externalSuppliersId,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据地区code查询地区详情
|
||||||
|
* @param code 地区代码
|
||||||
|
*/
|
||||||
|
async getRegionFullName(code: any) {
|
||||||
|
const params = {
|
||||||
|
regionCode: code,
|
||||||
|
};
|
||||||
|
const res = await this.service.asyncRequest(this.service.$api_get_region_detailByCode, params, 'POST', true);
|
||||||
|
// if (res && res.regionFullName) {
|
||||||
|
// const arr = res.regionFullName.split(',');
|
||||||
|
// res.regionFullName = arr.reverse().join('-');
|
||||||
|
// }
|
||||||
|
return res && res.regionFullName;
|
||||||
|
}
|
||||||
|
add() {
|
||||||
|
// this.modal
|
||||||
|
// .createStatic(FormEditComponent, { i: { id: 0 } })
|
||||||
|
// .subscribe(() => this.st.reload());
|
||||||
|
}
|
||||||
|
goBack() {
|
||||||
|
window.history.go(-1);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 冻结
|
||||||
|
*/
|
||||||
|
freezeOrResume(type: number) {
|
||||||
|
console.log(type)
|
||||||
|
// this.service.http
|
||||||
|
// .post(this.service.$api_set_freezeOrResume, {
|
||||||
|
// tenantId: this.route.snapshot.params.id,
|
||||||
|
// // tenantId: this.route.snapshot.queryParams.tenantId,
|
||||||
|
// status: type,
|
||||||
|
// })
|
||||||
|
// .subscribe((res) => {
|
||||||
|
// if (res.data === true) {
|
||||||
|
// if (type === 0) {
|
||||||
|
// this.service.msgSrv.success(`启用成功!`);
|
||||||
|
// } else if (type === 1) {
|
||||||
|
// this.service.msgSrv.success(`冻结成功!`);
|
||||||
|
// }
|
||||||
|
// this.ngOnInit();
|
||||||
|
// } else {
|
||||||
|
// this.service.msgSrv.error(res.msg || '操作失败!');
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
}
|
||||||
|
PayOrResume(type: number) {
|
||||||
|
console.log(type)
|
||||||
|
// this.service.http
|
||||||
|
// .post(this.service.$api_set_freezeOrResume, {
|
||||||
|
// tenantId: this.route.snapshot.params.id,
|
||||||
|
// // tenantId: this.route.snapshot.queryParams.tenantId,
|
||||||
|
// status: type,
|
||||||
|
// })
|
||||||
|
// .subscribe((res) => {
|
||||||
|
// if (res.data === true) {
|
||||||
|
// if (type === 0) {
|
||||||
|
// this.service.msgSrv.success(`启用成功!`);
|
||||||
|
// } else if (type === 1) {
|
||||||
|
// this.service.msgSrv.success(`冻结成功!`);
|
||||||
|
// }
|
||||||
|
// this.ngOnInit();
|
||||||
|
// } else {
|
||||||
|
// this.service.msgSrv.error(res.msg || '操作失败!');
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
}
|
||||||
|
|
||||||
|
handleCancel(name: any) {
|
||||||
|
if (name === 'effectiveDate') {
|
||||||
|
this.isShow = false;
|
||||||
|
} else {
|
||||||
|
this.isVisible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
handleOK(name: any) {
|
||||||
|
const params: any = {
|
||||||
|
tenantId: this.route.snapshot.params.id,
|
||||||
|
// tenantId: this.route.snapshot.queryParams.tenantId,
|
||||||
|
};
|
||||||
|
|
||||||
|
if (name === 'effectiveDate') {
|
||||||
|
params.effectiveDate = this.sf?.value?.effectiveDate;
|
||||||
|
} else {
|
||||||
|
Object.assign(params, this.sf1?.value);
|
||||||
|
}
|
||||||
|
this.service.http.post(this.service.$api_set_freezeOrResume, params).subscribe((res) => {
|
||||||
|
if (res.data === true) {
|
||||||
|
this.service.msgSrv.success(`编辑成功!`);
|
||||||
|
this.ngOnInit();
|
||||||
|
} else {
|
||||||
|
this.service.msgSrv.error(res.msg || '编辑失败!');
|
||||||
|
}
|
||||||
|
if (name === 'effectiveDate') {
|
||||||
|
this.isShow = false;
|
||||||
|
} else {
|
||||||
|
this.isVisible = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
84
src/app/routes/vehicle/components/list/list.component.html
Normal file
84
src/app/routes/vehicle/components/list/list.component.html
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
<!--
|
||||||
|
* @Author: your name
|
||||||
|
* @Date: 2021-11-29 15:22:34
|
||||||
|
* @LastEditTime: 2021-11-29 20:14:00
|
||||||
|
* @LastEditors: Please set LastEditors
|
||||||
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
|
* @FilePath: \tms-obc-web\src\app\routes\usercenter\components\freight\list\list.component.html
|
||||||
|
-->
|
||||||
|
<!-- 页头 -->
|
||||||
|
<page-header-wrapper [title]="'企业列表'"></page-header-wrapper>
|
||||||
|
<nz-card>
|
||||||
|
<!-- 搜索区 -->
|
||||||
|
<!-- 搜索表单 -->
|
||||||
|
<div nz-row nzGutter="8">
|
||||||
|
<!-- 查询字段小于或等于3个时,不显示伸缩按钮 -->
|
||||||
|
<div nz-col nzSpan="24" *ngIf="queryFieldCount <= 4">
|
||||||
|
<sf
|
||||||
|
#sf
|
||||||
|
[schema]="schema"
|
||||||
|
[ui]="ui"
|
||||||
|
[mode]="'search'"
|
||||||
|
[disabled]="!sf?.valid"
|
||||||
|
(formSubmit)="st?.load(1)"
|
||||||
|
(formReset)="resetSF()"
|
||||||
|
></sf>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- [loading]="service.http.loading" -->
|
||||||
|
|
||||||
|
<!-- 查询字段大于3个时,根据展开状态调整布局 -->
|
||||||
|
<ng-container *ngIf="queryFieldCount > 4">
|
||||||
|
<div nz-col [nzSpan]="_$expand ? 24 : 18">
|
||||||
|
<sf #sf [schema]="schema" [ui]="ui" [compact]="true" [button]="'none'"></sf>
|
||||||
|
</div>
|
||||||
|
<div nz-col [nzSpan]="_$expand ? 24 : 6" [class.text-right]="_$expand">
|
||||||
|
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="creat()">新建</button>
|
||||||
|
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st?.load(1)">导出</button>
|
||||||
|
<button nz-button nzType="primary" [disabled]="!sf.valid" [nzLoading]="service.http.loading" (click)="st?.load(1)">查询</button>
|
||||||
|
<button nz-button (click)="resetSF()">重置</button>
|
||||||
|
<button nz-button nzType="link" (click)="expandToggle()">
|
||||||
|
{{ !_$expand ? '展开' : '收起' }}
|
||||||
|
<i nz-icon [nzType]="!_$expand ? 'down' : 'up'"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</ng-container>
|
||||||
|
</div>
|
||||||
|
</nz-card>
|
||||||
|
<nz-card>
|
||||||
|
<!-- 数据列表 -->
|
||||||
|
<!-- [data]="service.$api_get_supplier_page" -->
|
||||||
|
|
||||||
|
<st
|
||||||
|
#st
|
||||||
|
[bordered]="true"
|
||||||
|
[columns]="columns"
|
||||||
|
[data]='datalist'
|
||||||
|
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
|
||||||
|
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: dataProcess }"
|
||||||
|
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
|
||||||
|
[loadingDelay]="500"
|
||||||
|
[loading]="service.http.loading"
|
||||||
|
>
|
||||||
|
<ng-template st-row="enterpriseName" let-item let-index="index">
|
||||||
|
<div nz-tooltip [nzTooltipTitle]="item.enterpriseName">
|
||||||
|
<div
|
||||||
|
style="display: inline-block; max-width: 280px; margin: 0 auto; overflow: hidden; white-space: nowrap; text-overflow: ellipsis"
|
||||||
|
>
|
||||||
|
{{ item.enterpriseName }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="contactsPhone" let-item let-index="index">
|
||||||
|
<div
|
||||||
|
style="color: #52c41a;" (click)="daoyun(item)"
|
||||||
|
>
|
||||||
|
{{ item.contactsPhone }}
|
||||||
|
</div>
|
||||||
|
</ng-template>
|
||||||
|
<ng-template st-row="stateCol" let-item let-index="index">
|
||||||
|
<nz-tag *ngIf="item.stateLocked" nzColor="error">冻结</nz-tag>
|
||||||
|
<nz-tag *elseBlock nzColor="success">正常</nz-tag>
|
||||||
|
</ng-template>
|
||||||
|
</st>
|
||||||
|
</nz-card>
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
/*
|
||||||
|
* @Author: your name
|
||||||
|
* @Date: 2021-12-01 20:05:59
|
||||||
|
* @LastEditTime: 2021-12-01 20:35:33
|
||||||
|
* @LastEditors: your name
|
||||||
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
|
* @FilePath: \tms-obc-web\src\app\routes\vehicle\components\list\list.component.spec.ts
|
||||||
|
*/
|
||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
import { VehicleComponentsListComponent } from './list.component';
|
||||||
|
|
||||||
|
describe('VehicleComponentsListComponent', () => {
|
||||||
|
let component: VehicleComponentsListComponent;
|
||||||
|
let fixture: ComponentFixture<VehicleComponentsListComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [VehicleComponentsListComponent],
|
||||||
|
}).compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(VehicleComponentsListComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
228
src/app/routes/vehicle/components/list/list.component.ts
Normal file
228
src/app/routes/vehicle/components/list/list.component.ts
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
|
import { STColumn, STColumnBadge, STComponent, STData } from '@delon/abc/st';
|
||||||
|
import { SFComponent, SFSchema, SFUISchema } from '@delon/form';
|
||||||
|
import { NzModalService } from 'ng-zorro-antd/modal';
|
||||||
|
import { UsermanageService } from '../../../vehicle/services/vehicle.service';
|
||||||
|
@Component({
|
||||||
|
selector: 'app-Freight-components-list',
|
||||||
|
templateUrl: './list.component.html',
|
||||||
|
})
|
||||||
|
export class VehicleComponentsListComponent implements OnInit {
|
||||||
|
_$expand = false;
|
||||||
|
url = `/rule?_allow_anonymous=true`;
|
||||||
|
|
||||||
|
ui!: SFUISchema;
|
||||||
|
schema!: SFSchema;
|
||||||
|
columns!: STColumn[];
|
||||||
|
datalist = [
|
||||||
|
{
|
||||||
|
storeName: '企业名称',
|
||||||
|
contactsName: '152746565',
|
||||||
|
enterpriseName: '湖南',
|
||||||
|
unifiedSocialCreditCode: '45454',
|
||||||
|
contactsPhone: '*97889461561',
|
||||||
|
effectiveDateStr: '废弃eww',
|
||||||
|
enStatusStr2: '正常',
|
||||||
|
enStatusStr3: '正常',
|
||||||
|
unifiedSocialCreditCode3: '常用服务',
|
||||||
|
unifiedSocialCreditCode2: '正常',
|
||||||
|
tenantId: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
storeName: '企业名称',
|
||||||
|
contactsName: '152746565',
|
||||||
|
enterpriseName: '湖南',
|
||||||
|
unifiedSocialCreditCode: '45454',
|
||||||
|
contactsPhone: '*97889461561',
|
||||||
|
effectiveDateStr: '废弃eww',
|
||||||
|
enStatusStr2: '正常',
|
||||||
|
enStatusStr3: '正常',
|
||||||
|
unifiedSocialCreditCode3: '常用服务',
|
||||||
|
unifiedSocialCreditCode2: '正常',
|
||||||
|
tenantId: 2
|
||||||
|
},
|
||||||
|
]
|
||||||
|
@ViewChild('st', { static: false }) st!: STComponent;
|
||||||
|
@ViewChild('sf', { static: false }) sf!: SFComponent;
|
||||||
|
|
||||||
|
constructor(public service: UsermanageService, private modal: NzModalService, private router: Router, private ar: ActivatedRoute) {}
|
||||||
|
/**
|
||||||
|
* 查询字段个数navigate
|
||||||
|
*/
|
||||||
|
get queryFieldCount(): number {
|
||||||
|
return Object.keys(this.schema?.properties || {}).length;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询参数
|
||||||
|
*/
|
||||||
|
get reqParams() {
|
||||||
|
const params: any = {
|
||||||
|
...(this.sf && this.sf.value),
|
||||||
|
};
|
||||||
|
if (this.sf?.value.effectiveDate) {
|
||||||
|
params.effectiveDateStart = this.sf?.value.effectiveDate[0];
|
||||||
|
params.effectiveDateEnd = this.sf?.value.effectiveDate[1];
|
||||||
|
}
|
||||||
|
delete params.effectiveDate;
|
||||||
|
delete params.expand;
|
||||||
|
return params;
|
||||||
|
}
|
||||||
|
|
||||||
|
get selectedRows() {
|
||||||
|
return this.st?.list.filter((item) => item.checked) || [];
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
this.initSF();
|
||||||
|
this.initST();
|
||||||
|
this.ar.url.subscribe((params) => {
|
||||||
|
this.st?.load(1);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
dataProcess(data: STData[]): STData[] {
|
||||||
|
return data.map((i, index) => {
|
||||||
|
i.showSortFlag = false;
|
||||||
|
return i;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
initSF() {
|
||||||
|
this.schema = {
|
||||||
|
properties: {
|
||||||
|
expand: {
|
||||||
|
type: 'boolean',
|
||||||
|
ui: {
|
||||||
|
hidden: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
storeName: { title: '企业名称', type: 'string', ui: { showRequired: false } },
|
||||||
|
contactsName: {
|
||||||
|
title: '联系人',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
showRequired: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
unifiedSocialCreditCode: {
|
||||||
|
title: '税源地',
|
||||||
|
type: 'string',
|
||||||
|
ui: {
|
||||||
|
showRequired: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
enStatus: {
|
||||||
|
type: 'string',
|
||||||
|
title: '货主状态',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '正常', value: 0 },
|
||||||
|
{ label: '冻结', value: 1 },
|
||||||
|
{ label: '废弃', value: 2 },
|
||||||
|
],
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
visibleIf: {
|
||||||
|
expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
enStatus2: {
|
||||||
|
type: 'string',
|
||||||
|
title: 'CRM审核状态',
|
||||||
|
enum: [
|
||||||
|
{ label: '全部', value: '' },
|
||||||
|
{ label: '正常', value: 0 },
|
||||||
|
{ label: '冻结', value: 1 },
|
||||||
|
{ label: '废弃', value: 2 },
|
||||||
|
],
|
||||||
|
default: '',
|
||||||
|
ui: {
|
||||||
|
widget: 'select',
|
||||||
|
visibleIf: {
|
||||||
|
expand: (value: boolean) => value,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
this.ui = { '*': { spanLabelFixed: 90, grid: { span: 8, gutter: 4 }, enter: () => this.st.load() } };
|
||||||
|
}
|
||||||
|
|
||||||
|
initST() {
|
||||||
|
this.columns = [
|
||||||
|
// { title: '', type: 'checkbox', className: 'text-center' },
|
||||||
|
{ title: '企业名称', className: 'text-center', index: 'storeName' },
|
||||||
|
{ title: '联系人', className: 'text-center', index: 'contactsName' },
|
||||||
|
{ title: '税源地', className: 'text-center', render: 'enterpriseName' },
|
||||||
|
{ title: '累计运单金额', className: 'text-center', index: 'unifiedSocialCreditCode' },
|
||||||
|
{ title: '道运证', className: 'text-center', index: 'contactsPhone',
|
||||||
|
render: 'contactsPhone'
|
||||||
|
},
|
||||||
|
{ title: '企业状态', className: 'text-center', index: 'effectiveDateStr',
|
||||||
|
type: 'badge',
|
||||||
|
badge: {
|
||||||
|
正常: { text: '正常', color: 'success' },
|
||||||
|
冻结: { text: '冻结', color: 'warning' },
|
||||||
|
废弃: { text: '废弃', color: 'default' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'CRM审核状态',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'enStatusStr2',
|
||||||
|
type: 'badge',
|
||||||
|
badge: {
|
||||||
|
正常: { text: '正常', color: 'success' },
|
||||||
|
冻结: { text: '冻结', color: 'warning' },
|
||||||
|
废弃: { text: '废弃', color: 'default' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '代收权限',
|
||||||
|
className: 'text-center',
|
||||||
|
index: 'enStatusStr3',
|
||||||
|
type: 'badge',
|
||||||
|
badge: {
|
||||||
|
正常: { text: '正常', color: 'success' },
|
||||||
|
冻结: { text: '冻结', color: 'warning' },
|
||||||
|
废弃: { text: '废弃', color: 'default' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{ title: '常用服务', className: 'text-center', index: 'unifiedSocialCreditCode3' },
|
||||||
|
{ title: '推广业务员', className: 'text-center', index: 'unifiedSocialCreditCode2' },
|
||||||
|
{
|
||||||
|
title: '操作',
|
||||||
|
width: '170px',
|
||||||
|
className: 'text-center',
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
text: '查看',
|
||||||
|
click: (item) => {
|
||||||
|
this.router.navigate(['./detail', item.tenantId], { relativeTo: this.ar });
|
||||||
|
// this.router.navigate(['./view', item.id], { relativeTo: this.ar, queryParams: { tenantId: item.tenantId } });
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
}
|
||||||
|
daoyun(item: any) {
|
||||||
|
this.router.navigate(['./view', item.tenantId], { relativeTo: this.ar });
|
||||||
|
}
|
||||||
|
expandToggle() {
|
||||||
|
this._$expand = !this._$expand;
|
||||||
|
this.sf?.setValue('/expand', this._$expand);
|
||||||
|
}
|
||||||
|
creat() {
|
||||||
|
this.router.navigate(['./new',], { relativeTo: this.ar });
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 重置表单
|
||||||
|
*/
|
||||||
|
resetSF() {
|
||||||
|
this.sf.reset();
|
||||||
|
this._$expand = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
91
src/app/routes/vehicle/services/vehicle.service.ts
Normal file
91
src/app/routes/vehicle/services/vehicle.service.ts
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
/*
|
||||||
|
* @Author: your name
|
||||||
|
* @Date: 2021-11-29 15:22:34
|
||||||
|
* @LastEditTime: 2021-11-29 15:43:42
|
||||||
|
* @LastEditors: your name
|
||||||
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
|
* @FilePath: \tms-obc-web\src\app\routes\usercenter\services\usercenter.service.ts
|
||||||
|
*/
|
||||||
|
import { Injectable, Injector } from '@angular/core';
|
||||||
|
import { _HttpClient } from '@delon/theme';
|
||||||
|
import { NzMessageService } from 'ng-zorro-antd/message';
|
||||||
|
import { BaseService } from 'src/app/shared/services/core/base.service';
|
||||||
|
import { EAFileUtil } from 'src/app/shared/utils/file.util';
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root',
|
||||||
|
})
|
||||||
|
export class UsermanageService extends BaseService {
|
||||||
|
public $api_add_one!: string;
|
||||||
|
public $api_add_many!: string;
|
||||||
|
public $api_edit_one!: string;
|
||||||
|
public $api_edit_many!: string;
|
||||||
|
public $api_del_one!: string;
|
||||||
|
public $api_del_many!: string;
|
||||||
|
public $api_get_many!: string;
|
||||||
|
public $api_get_one!: string;
|
||||||
|
public $api_get_page!: string;
|
||||||
|
public $api_export!: string;
|
||||||
|
public $api_import!: string;
|
||||||
|
public $api_import_download_tpl!: string;
|
||||||
|
// 平台用户列表
|
||||||
|
$api_get_page_user = '/cuc/userApp/getOperatorUserList?_allow_anonymous=true';
|
||||||
|
// 获取供应商采购商应用
|
||||||
|
$api_get_supplier_purchaserApp = '/cuc/appInfo/getSupplierPurchaserApp?_allow_anonymous=true';
|
||||||
|
|
||||||
|
// 供应商列表
|
||||||
|
$api_get_supplier_page = '/cuc/operator/list/listSupplierPage?_allow_anonymous=true';
|
||||||
|
// 供应商详情
|
||||||
|
$api_get_supplier_info = '/cuc/operator/selectSupplierDetailInfo?_allow_anonymous=true';
|
||||||
|
// 用户冻结或恢复应用用户
|
||||||
|
$api_set_freezeOrResume = '/cuc/operator/updateSupplierInfo?_allow_anonymous=true';
|
||||||
|
// 获取一、二、三级地区详情
|
||||||
|
$api_getRegionToThree = '/cms/region/getRegionToThree?_allow_anonymous=true';
|
||||||
|
// 根据地区code查询列表
|
||||||
|
$api_getRegionByCode = '/cms/region/getRegionByCode?_allow_anonymous=true';
|
||||||
|
|
||||||
|
// 根据地区code查询地区详情
|
||||||
|
$api_get_region_detailByCode = '/cms/region/getRegionDetailByCode?_allow_anonymous=true';
|
||||||
|
// 查询供应商申请列表分页
|
||||||
|
$api_get_supplier_audit_page = `/cuc/operator/audit/listSupplierPage?_allow_anonymous=true`;
|
||||||
|
// 查询供应商入驻详情
|
||||||
|
$api_get_supplier_entryInfo = `/cuc/operator/selectSupplierEntryDetailInfo?_allow_anonymous=true`;
|
||||||
|
// 审核供应商
|
||||||
|
$api_auditSupplier = `/cuc/operator/auditSupplier?_allow_anonymous=true`;
|
||||||
|
// 查询采购商列表分页
|
||||||
|
$api_get_purchaserList = `/cuc/operator/list/queryPurchaserPage`;
|
||||||
|
// 查询采购商申请列表分页
|
||||||
|
$api_get_purchaserAudit = `/cuc/operator/audit/queryPurchaserPage`;
|
||||||
|
// 查询采购商认证详情
|
||||||
|
$api_get_purchaser_detailInfo = `/cuc/operator/selectPurchaserDetailInfo`;
|
||||||
|
|
||||||
|
// 查询采购商审核总数
|
||||||
|
$api_query_purchaser_count = `/cuc/operator/queryPurchaserCount`;
|
||||||
|
// 获取供应商审核总数
|
||||||
|
$api_query_supplier_count = `/cuc/operator/querySupplierCount`;
|
||||||
|
|
||||||
|
// 审核企业详情
|
||||||
|
$api_get_cache_enterprise_info = '';
|
||||||
|
// 获取审核进度
|
||||||
|
$api_get_progress = '/cuc/reviewRecordInfo/getReviewProgress';
|
||||||
|
// 查询流程信息列表
|
||||||
|
$api_get_progressInfoList = '/cuc/processInfo/getProcessInfoList';
|
||||||
|
// 审核通过
|
||||||
|
$api_set_audit_pass = '/cuc/reviewRecordInfo/reviewPassed';
|
||||||
|
// 审核拒绝
|
||||||
|
$api_set_audit_reject = '/cuc/reviewRecordInfo/reviewRejected';
|
||||||
|
|
||||||
|
// 发起签约 //撤回签约
|
||||||
|
$api_get_startSigning = `/cuc/operator/startSigning?_allow_badcode=true`;
|
||||||
|
|
||||||
|
// 发起续约 //撤回续约
|
||||||
|
$api_get_startRenewalContract = `/cuc/operator/startRenewalContract?_allow_badcode=true`;
|
||||||
|
// 获取审核记录
|
||||||
|
$api_get_reviewRecordInfoList = '/cuc/reviewRecordInfo/getReviewRecordInfoList';
|
||||||
|
// 查看合同详情
|
||||||
|
$api_get_contract_detail = `/scce/etc/etc/contractDetail/getContractByContractNo`;
|
||||||
|
|
||||||
|
constructor(public injector: Injector) {
|
||||||
|
super(injector);
|
||||||
|
}
|
||||||
|
}
|
||||||
24
src/app/routes/vehicle/vehicle-routing.module.ts
Normal file
24
src/app/routes/vehicle/vehicle-routing.module.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
/*
|
||||||
|
* @Author: your name
|
||||||
|
* @Date: 2021-11-29 15:22:34
|
||||||
|
* @LastEditTime: 2021-12-01 20:38:01
|
||||||
|
* @LastEditors: Please set LastEditors
|
||||||
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
|
* @FilePath: \tms-obc-web\src\app\routes\usercenter\usercenter-routing.module.ts
|
||||||
|
*/
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { RouterModule, Routes } from '@angular/router';
|
||||||
|
import { VehicleComponentsListComponent } from './components/list/list.component';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const routes: Routes = [
|
||||||
|
|
||||||
|
{ path: 'list', component: VehicleComponentsListComponent },
|
||||||
|
];
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [RouterModule.forChild(routes)],
|
||||||
|
exports: [RouterModule],
|
||||||
|
})
|
||||||
|
export class VehicleRoutingModule {}
|
||||||
23
src/app/routes/vehicle/vehicle.module.ts
Normal file
23
src/app/routes/vehicle/vehicle.module.ts
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
/*
|
||||||
|
* @Author: your name
|
||||||
|
* @Date: 2021-11-29 15:22:34
|
||||||
|
* @LastEditTime: 2021-12-01 20:36:45
|
||||||
|
* @LastEditors: Please set LastEditors
|
||||||
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
|
* @FilePath: \tms-obc-web\src\app\routes\usercenter\usercenter.module.ts
|
||||||
|
*/
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { SharedModule } from '@shared';
|
||||||
|
import { VehicleComponentsListComponent } from './components/list/list.component';
|
||||||
|
import { VehicleRoutingModule } from './vehicle-routing.module';
|
||||||
|
|
||||||
|
|
||||||
|
const COMPONENTS = [
|
||||||
|
VehicleComponentsListComponent
|
||||||
|
];
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [SharedModule, VehicleRoutingModule],
|
||||||
|
declarations: [...COMPONENTS],
|
||||||
|
})
|
||||||
|
export class VehicleModule {}
|
||||||
@ -1,3 +1,4 @@
|
|||||||
|
import { NzInputNumberModule } from 'ng-zorro-antd/input-number';
|
||||||
import { NzTreeModule } from 'ng-zorro-antd/tree';
|
import { NzTreeModule } from 'ng-zorro-antd/tree';
|
||||||
import { NzProgressModule } from 'ng-zorro-antd/progress';
|
import { NzProgressModule } from 'ng-zorro-antd/progress';
|
||||||
import { NzPopoverModule } from 'ng-zorro-antd/popover';
|
import { NzPopoverModule } from 'ng-zorro-antd/popover';
|
||||||
@ -6,7 +7,7 @@ import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
|
|||||||
/*
|
/*
|
||||||
* @Author: your name
|
* @Author: your name
|
||||||
* @Date: 2021-11-29 10:20:33
|
* @Date: 2021-11-29 10:20:33
|
||||||
* @LastEditTime: 2021-11-30 09:54:47
|
* @LastEditTime: 2021-12-01 16:50:17
|
||||||
* @LastEditors: Please set LastEditors
|
* @LastEditors: Please set LastEditors
|
||||||
* @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\shared\shared-zorro.module.ts
|
* @FilePath: \tms-obc-web\src\app\shared\shared-zorro.module.ts
|
||||||
@ -35,7 +36,6 @@ import { NzTabsModule } from 'ng-zorro-antd/tabs';
|
|||||||
import { NzRadioModule } from 'ng-zorro-antd/radio';
|
import { NzRadioModule } from 'ng-zorro-antd/radio';
|
||||||
import { NzTimePickerModule } from 'ng-zorro-antd/time-picker';
|
import { NzTimePickerModule } from 'ng-zorro-antd/time-picker';
|
||||||
import { NzCheckboxModule } from 'ng-zorro-antd/checkbox';
|
import { NzCheckboxModule } from 'ng-zorro-antd/checkbox';
|
||||||
import { NzInputNumberModule } from 'ng-zorro-antd/input-number';
|
|
||||||
export const SHARED_ZORRO_MODULES = [
|
export const SHARED_ZORRO_MODULES = [
|
||||||
NzButtonModule,
|
NzButtonModule,
|
||||||
NzGridModule,
|
NzGridModule,
|
||||||
@ -60,7 +60,6 @@ export const SHARED_ZORRO_MODULES = [
|
|||||||
NzRateModule,
|
NzRateModule,
|
||||||
NzResultModule,
|
NzResultModule,
|
||||||
NzTreeModule,
|
NzTreeModule,
|
||||||
NzTableModule,
|
|
||||||
NzTabsModule,
|
NzTabsModule,
|
||||||
NzRadioModule,
|
NzRadioModule,
|
||||||
NzTimePickerModule,
|
NzTimePickerModule,
|
||||||
|
|||||||
1
src/assets/images/user/yuandian.svg
Normal file
1
src/assets/images/user/yuandian.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1638338410086" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4102" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M514.048 128q79.872 0 149.504 30.208t121.856 82.432 82.432 122.368 30.208 150.016q0 78.848-30.208 148.48t-82.432 121.856-121.856 82.432-149.504 30.208-149.504-30.208-121.856-82.432-82.432-121.856-30.208-148.48q0-79.872 30.208-150.016t82.432-122.368 121.856-82.432 149.504-30.208z" p-id="4103"></path></svg>
|
||||||
|
After Width: | Height: | Size: 683 B |
@ -112,6 +112,17 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"text": "车辆管理",
|
||||||
|
"icon": "anticon anticon-dashboard",
|
||||||
|
"group": true,
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"text": "车辆列表",
|
||||||
|
"link": "/vehicle/list"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"text": "系统设置",
|
"text": "系统设置",
|
||||||
"icon": "anticon anticon-dashboard",
|
"icon": "anticon anticon-dashboard",
|
||||||
|
|||||||
Reference in New Issue
Block a user