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

This commit is contained in:
潘晓云
2022-03-02 15:52:33 +08:00
38 changed files with 493 additions and 404 deletions

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-01-18 09:51:21 * @Date : 2022-01-18 09:51:21
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-02-25 17:52:10 * @LastEditTime : 2022-03-02 14:52:07
* @FilePath : \\tms-obc-web\\proxy.conf.js * @FilePath : \\tms-obc-web\\proxy.conf.js
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
*/ */
@ -20,7 +20,7 @@ module.exports = {
// } // }
'//api': { '//api': {
target: { target: {
host: 'tms-api-test.eascs.com', host: 'tms-api-dev.eascs.com',
protocol: 'https:', protocol: 'https:',
port: 443 port: 443
}, },

View File

@ -189,7 +189,10 @@ export class FreightAccountDetailComponent implements OnInit {
{ title: '交易时间', index: 'createTime', type: 'date' }, { title: '交易时间', index: 'createTime', type: 'date' },
{ title: '流水号', index: 'transactionNumber' }, { title: '流水号', index: 'transactionNumber' },
{ title: '交易类型', index: 'tradeTypeLabel', className: 'text-center' }, { title: '交易类型', index: 'tradeTypeLabel', className: 'text-center' },
{ title: '关联单号', index: 'businessNumber' }, { title: '交易单号', index: 'businessNumber' },
{ title: '订单号', index: 'business2Number' },
{ title: '运单号', index: 'busine1ssNumber' },
{ title: '货主', index: 'busine11ssNumber' },
{ title: '所属项目', index: 'projectId' }, { title: '所属项目', index: 'projectId' },
{ title: '收支类型', index: 'incomeTypeLabel', className: 'text-center' }, { title: '收支类型', index: 'incomeTypeLabel', className: 'text-center' },
{ {
@ -207,7 +210,10 @@ export class FreightAccountDetailComponent implements OnInit {
type: 'widget', type: 'widget',
className: 'text-right', className: 'text-right',
widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.accountBalance }) } widget: { type: 'currency-chy', params: ({ record }) => ({ value: record.accountBalance }) }
} },
{ title: '付款方', index: 'busine111ssNumber' },
{ title: '收款方', index: 'payeeName' },
{ title: '备注', index: 'projectId1' },
]; ];
} }
} }

View File

@ -167,10 +167,10 @@ export class FreightAccountComponent implements OnInit {
private initST(): STColumn[] { private initST(): STColumn[] {
return [ return [
{ title: '企业名称', width: 140, index: 'tenantName' }, { title: '企业名称', width: 170, index: 'tenantName' },
{ title: '联系人', width: 120, index: 'name' }, { title: '联系人', width: 120, index: 'name' },
{ title: '联系人电话', width: 140, index: 'phone' }, { title: '联系人电话', width: 140, index: 'phone' },
{ title: '网络货运人', width: 140, index: 'ltdName' }, { title: '网络货运人', width: 170, index: 'ltdName' },
{ title: '银行类型', width: 120, index: 'bankTypeLabel' }, { title: '银行类型', width: 120, index: 'bankTypeLabel' },
{ title: '虚拟账户', width: 140, index: 'virtualAccount' }, { title: '虚拟账户', width: 140, index: 'virtualAccount' },
{ {

View File

@ -45,7 +45,7 @@ export class ReceivableOrderDetailComponent implements OnInit {
Object.assign(requestOptions.body, { ahxHId: this.id }); Object.assign(requestOptions.body, { ahxHId: this.id });
if (this.sf) { if (this.sf) {
Object.assign(requestOptions.body, { Object.assign(requestOptions.body, {
...this.sf.value, ...this.sf.value
}); });
if (this.sf.value.feedate?.[0]) { if (this.sf.value.feedate?.[0]) {
Object.assign(requestOptions.body, { Object.assign(requestOptions.body, {
@ -108,7 +108,7 @@ export class ReceivableOrderDetailComponent implements OnInit {
widget: 'select', widget: 'select',
placeholder: '请选择', placeholder: '请选择',
allowClear: true, allowClear: true,
asyncData: () => this.service.getCloseAccount(), asyncData: () => this.service.getCloseAccount()
}, },
default: '' default: ''
}, },
@ -122,7 +122,7 @@ export class ReceivableOrderDetailComponent implements OnInit {
expand: (value: boolean) => value expand: (value: boolean) => value
} }
} as SFDateWidgetSchema } as SFDateWidgetSchema
}, }
// billTime: { // billTime: {
// title: '订单日期', // title: '订单日期',
// type: 'string', // type: 'string',
@ -146,8 +146,8 @@ export class ReceivableOrderDetailComponent implements OnInit {
{ title: '订单号', index: 'billHCode', width: 100 }, { title: '订单号', index: 'billHCode', width: 100 },
// { title: '订单日期', index: 'billTime', width: 150 }, // { title: '订单日期', index: 'billTime', width: 150 },
// { title: '费用类型', index: 'cnoName', width: 90 }, // { title: '费用类型', index: 'cnoName', width: 90 },
// { title: '订单费用科目', index: 'feeSubId', width: 100 }, { title: '订单费用科目', index: 'billLTypeLabel', width: 100 },
{ title: '费用科目', index: 'feeSubId', width: 140 }, { title: '费用科目', index: 'feeSubName', width: 140 },
{ title: '结算客户', index: 'cnoName', width: 100 }, { title: '结算客户', index: 'cnoName', width: 100 },
{ {
title: '已收金额', title: '已收金额',

View File

@ -22,7 +22,7 @@
<!-- <button nz-button nzType="primary" [nzLoading]="service.http.loading" style="float: right;">打印</button> --> <!-- <button nz-button nzType="primary" [nzLoading]="service.http.loading" style="float: right;">打印</button> -->
</se-title> </se-title>
<se label="帐套" required> <se label="帐套" required>
{{info?.ltdId}} {{info?.vcltdcode}} - {{info?.vcltdname}}
</se> </se>
<se label="凭证类型" required> <se label="凭证类型" required>
{{info?.vctype}} {{info?.vctype}}

View File

@ -13,9 +13,7 @@ import { Component, OnInit, ViewChild } from '@angular/core';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st'; import { STComponent, STColumn, STRequestOptions, STChange } from '@delon/abc/st';
import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form'; import { SFComponent, SFSchema, SFDateWidgetSchema } from '@delon/form';
import { ShipperBaseService } from '@shared';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { AddCollectionInvoiceModalComponent } from 'src/app/routes/ticket-management/components/input-invoice/add-collection-invoice-modal/add-collection-invoice-modal.component';
import { FreightAccountService } from '../../services/freight-account.service'; import { FreightAccountService } from '../../services/freight-account.service';
@Component({ @Component({
@ -294,7 +292,7 @@ export class VoucherManagementComponent implements OnInit {
return [ return [
{ title: '', index: 'key', type: 'checkbox', width: 60, className: 'text-center', fixed: 'left' }, { title: '', index: 'key', type: 'checkbox', width: 60, className: 'text-center', fixed: 'left' },
{ title: '凭证号', index: 'vccode', type: 'link', width: 200 }, { title: '凭证号', index: 'vccode', type: 'link', width: 200 },
{ title: '帐套', index: 'ltdId', width: 200 }, { title: '帐套', index: 'ltdId', width: 200,format:item=>`${item.vcltdcode}-${item.vcltdname}` },
{ title: '凭证时间', index: 'vctime', type: 'date', width: 200 }, { title: '凭证时间', index: 'vctime', type: 'date', width: 200 },
{ title: '凭证类型', index: 'vctype', width: 200 }, { title: '凭证类型', index: 'vctype', width: 200 },
{ title: '序号', index: 'invmoney', width: 200, format: _ => '1' }, { title: '序号', index: 'invmoney', width: 200, format: _ => '1' },

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-01-12 10:52:50 * @Date : 2022-01-12 10:52:50
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-03-01 13:26:59 * @LastEditTime : 2022-03-02 14:56:27
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk\\bulk.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\bulk\\bulk.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
@ -81,6 +81,9 @@
<ng-template st-row="payeeName" let-item let-index="index"> <ng-template st-row="payeeName" let-item let-index="index">
<div> {{ item?.payeeName }}/{{ item?.payeePhone }} </div> <div> {{ item?.payeeName }}/{{ item?.payeePhone }} </div>
</ng-template> </ng-template>
<ng-template st-row="createUserName" let-item let-index="index">
<div> {{ item?.createUserName }}/{{ item?.createUserPhone }} </div>
</ng-template>
<ng-template st-row="billCode" let-item let-index="index"> <ng-template st-row="billCode" let-item let-index="index">
<a [routerLink]="'bulk-detail/' + item.id">{{ item.billCode }}</a> <a [routerLink]="'bulk-detail/' + item.id">{{ item.billCode }}</a>
<div> <div>

View File

@ -429,6 +429,7 @@ export class OrderManagementBulkComponent implements OnInit {
className: 'text-right', className: 'text-right',
render: 'mybidDetailInfo' render: 'mybidDetailInfo'
}, },
{ title: '录单员', render: 'createUserName', width: '200px', className: 'text-left' },
{ title: '网络货运人', index: 'enterpriseInfoName', width: '250px', className: 'text-left' }, { title: '网络货运人', index: 'enterpriseInfoName', width: '250px', className: 'text-left' },
{ title: '货主', index: 'shipperAppUserName', width: '250px', className: 'text-left' }, { title: '货主', index: 'shipperAppUserName', width: '250px', className: 'text-left' },
{ title: '所属项目', index: 'enterpriseProjectName', width: '250px', className: 'text-left' }, { title: '所属项目', index: 'enterpriseProjectName', width: '250px', className: 'text-left' },

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-01-12 10:52:50 * @Date : 2022-01-12 10:52:50
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-02-28 13:59:54 * @LastEditTime : 2022-03-02 14:57:31
* @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle\\vehicle.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\order-management\\components\\vehicle\\vehicle.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
@ -83,6 +83,9 @@
<span>{{ item?.goodsNumber ? item?.goodsNumber + '件' : '' }}</span> <span>{{ item?.goodsNumber ? item?.goodsNumber + '件' : '' }}</span>
</div> </div>
</ng-template> </ng-template>
<ng-template st-row="createUserName" let-item let-index="index">
<div> {{ item?.createUserName }}/{{ item?.createUserPhone }} </div>
</ng-template>
<ng-template st-row="mybidDetailInfo" let-item let-index="index"> <ng-template st-row="mybidDetailInfo" let-item let-index="index">
<div *ngIf="item.mybidDetailInfo.length > 0"> <div *ngIf="item.mybidDetailInfo.length > 0">
<p *ngFor="let data of item.mybidDetailInfo"> <p *ngFor="let data of item.mybidDetailInfo">

View File

@ -390,6 +390,7 @@ resourceStatus: any;
className: 'text-right', className: 'text-right',
render: 'mybidDetailInfo', render: 'mybidDetailInfo',
}, },
{ title: '录单员', render: 'createUserName', width: '200px', className: 'text-left' },
{ title: '网络货运人', index: 'enterpriseInfoName', width: '250px', className: 'text-left' }, { title: '网络货运人', index: 'enterpriseInfoName', width: '250px', className: 'text-left' },
{ title: '货主', index: 'shipperAppUserName', width: '250px', className: 'text-left' }, { title: '货主', index: 'shipperAppUserName', width: '250px', className: 'text-left' },
{ title: '关联运单号', index: 'wayBillCode', width: '170px', className: 'text-left' }, { title: '关联运单号', index: 'wayBillCode', width: '170px', className: 'text-left' },

View File

@ -13,12 +13,20 @@
<div nz-row> <div nz-row>
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.shipperAppUserName }}</div> <div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.shipperAppUserName }}</div>
<div nz-col nzSpan="10"> <div nz-col nzSpan="10">
<<<<<<< HEAD <button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button>
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-updatePrice']">修改单价</button>
<button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
=======
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl <button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button> [acl-ability]="['SUPPLY-BULK-DETAIL-cancelSupply']">取消货源</button>
<button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl <button nz-button (click)="updatePrice(i)" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-updatePrice']">修改单价</button> [acl-ability]="['SUPPLY-BULK-DETAIL-updatePrice']">修改单价</button>
<button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl <button nz-button nzType="primary" nzGhost (click)="placeOrder(i)" acl
[acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button> [acl-ability]="['SUPPLY-BULK-DETAIL-bulkAnotherOrder']">再下一单</button>
>>>>>>> 82c3801cc6ea10d8f6b895d85fe5553850672cea
</div> </div>
</div> </div>
<div class="mt-sm mb-sm" nz-row> <div class="mt-sm mb-sm" nz-row>
@ -40,13 +48,14 @@
<div class="approval-status"> <div class="approval-status">
<div style="width: 60%; margin: 0 auto"> <div style="width: 60%; margin: 0 auto">
<nz-steps style="width: 70%; margin: 0 auto" [nzLabelPlacement]="'vertical'"> <nz-steps style="width: 70%; margin: 0 auto" [nzLabelPlacement]="'vertical'">
<nz-step [nzStatus]="i?.resourceStatus !== '1' ? 'finish' : 'process'" nzIcon="solution" nzTitle="下单" <nz-step [nzStatus]="i?.resourceStatus !== '1' ? 'finish' : 'process'" nzIcon="solution"
[nzDescription]="i?.createTime"></nz-step> [nzDescription]="i?.createAt" nzTitle="下单" [nzSubtitle]="i?.createTime"></nz-step>
<nz-step *ngIf="i?.resourceStatus === '1' || i?.resourceStatus === '2'" <nz-step *ngIf="i?.resourceStatus === '1' || i?.resourceStatus === '2'"
[nzStatus]="i?.resourceStatus === '1' ? 'wait' : 'finish'" nzIcon="file-done" [nzStatus]="i?.resourceStatus === '1' ? 'wait' : 'finish'" nzIcon="file-done"
[nzTitle]="i?.resourceStatus === '2' ? '已完结' : '完结'" [nzDescription]="i?.endTime"></nz-step> [nzTitle]="i?.resourceStatus === '2' ? '已完结' : '完结'" [nzSubtitle]="i?.endTime"></nz-step>
<nz-step nzStatus="finish" nzIcon="close-circle" nzTitle="取消货源" *ngIf="i?.resourceStatus === '3'" <nz-step nzStatus="finish" nzIcon="close-circle" nzTitle="取消货源" *ngIf="i?.resourceStatus === '3'"
[nzDescription]="i?.endTime"></nz-step> [nzSubtitle]="i?.endTime"></nz-step>
</nz-steps> </nz-steps>
</div> </div>
</div> </div>

View File

@ -75,6 +75,9 @@
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="loading" [loading]="loading"
> >
<ng-template st-row="createUserName" let-item let-index="index">
<div> {{ item?.createUserName }}/{{ item?.createUserPhone }} </div>
</ng-template>
<!--运费单价 --> <!--运费单价 -->
<ng-template st-row="freightPrice" let-item let-index="index"> <ng-template st-row="freightPrice" let-item let-index="index">
<div class="mr-xs">{{ item?.freightPrice | currency }} </div> <div class="mr-xs">{{ item?.freightPrice | currency }} </div>

View File

@ -255,6 +255,7 @@ export class SupplyManagementBulkComponent implements OnInit {
className: 'text-left', className: 'text-left',
render: 'resourceCode' render: 'resourceCode'
}, },
{ title: '录单员', render: 'createUserName', width: '200px', className: 'text-left' },
{ title: '货主', index: 'shipperAppUserName', width: '220px', className: 'text-left' }, { title: '货主', index: 'shipperAppUserName', width: '220px', className: 'text-left' },
{ title: '项目名称', index: 'enterpriseProjectName', width: '220px', className: 'text-left' }, { title: '项目名称', index: 'enterpriseProjectName', width: '220px', className: 'text-left' },
{ title: '关联订单', render: 'orderSn', width: '200px', className: 'text-left' }, { title: '关联订单', render: 'orderSn', width: '200px', className: 'text-left' },

View File

@ -4,16 +4,13 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2022-01-12 10:52:50 * @Date : 2022-01-12 10:52:50
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-01-18 17:27:53 * @LastEditTime : 2022-03-02 14:27:20
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\choose-famifiar\\choose-famifiar.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\choose-famifiar\\choose-famifiar.component.html
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
--> -->
<!-- <button nz-button nzType="primary" style="margin-bottom: 24px" (click)="add()"><i nz-icon nzType="plus"></i>添加司机</button> -->
<button nz-button nzType="primary" style="margin-bottom: 24px" (click)="add()"><i nz-icon nzType="plus"></i>添加司机</button>
<!-- 搜索区 --> <!-- 搜索区 -->
<div nz-row nzGutter="8"> <div nz-row nzGutter="8">
<div nz-col [nzSpan]="12">
<div nz-row nzGutter="8">
<div nz-col [nzSpan]="18"> <div nz-col [nzSpan]="18">
<sf #sf [ui]="ui" [schema]="schema" [button]="'none'"></sf> <sf #sf [ui]="ui" [schema]="schema" [button]="'none'"></sf>
</div> </div>
@ -21,31 +18,21 @@
<button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st.load(1)">查询</button> <button nz-button nzType="primary" [nzLoading]="service.http.loading" (click)="st.load(1)">查询</button>
<button nz-button (click)="resetSF()">重置</button> <button nz-button (click)="resetSF()">重置</button>
</div> </div>
</div>
</div>
</div> </div>
<div nz-row nzGutter="8"> <div nz-row nzGutter="8">
<div nz-col [nzSpan]="12"> <div nz-col [nzSpan]="12">
<!-- 数据列表 --> <!-- 数据列表 -->
<st <st #st [bordered]="true" [data]="service.$api_getListCars" [columns]="columns" size="small"
#st
*ngIf="columns"
[bordered]="true"
[data]="service.$api_getList_card"
[columns]="columns"
size="small"
[req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }" [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
[res]="{ reName: { list: 'data.records', total: 'data.total' }, process: reqProcess }" [res]="{ reName: { list: 'data.records', total: 'data.total' }, process: reqProcess }"
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [loadingDelay]="500" [loading]="service.http.loading" [widthMode]="{ type: 'strict' }" [scroll]="{ x: '600px' }"
[widthMode]="{ type: 'strict' }" style="margin-top: 22px">
[scroll]="{ x: '600px' }"
style="margin-top: 22px; width: 100%"
>
<ng-template st-row="userCarLicenseDesensitizationVOList" let-item let-index="index"> <ng-template st-row="userCarLicenseDesensitizationVOList" let-item let-index="index">
<nz-select [(ngModel)]="item.default" (ngModelChange)="carChange($event, item)" style="width: 100%"> <nz-select [(ngModel)]="item.default" (ngModelChange)="carChange($event, item)" style="width: 100%">
<nz-option nzValue="" nzLabel="不限"></nz-option> <nz-option nzValue="" nzLabel="不限"></nz-option>
<nz-option [nzValue]="cart" [nzLabel]="cart.carNo" *ngFor="let cart of item.userCarLicenseDesensitizationVOList"> </nz-option> <nz-option [nzValue]="cart" [nzLabel]="cart.carNo"
*ngFor="let cart of item.userCarLicenseDesensitizationVOList"> </nz-option>
</nz-select> </nz-select>
</ng-template> </ng-template>
</st> </st>
@ -53,21 +40,18 @@
<div nz-col [nzSpan]="12"> <div nz-col [nzSpan]="12">
<!-- 选中列表 --> <!-- 选中列表 -->
<div>已选择{{ st2Data.length }}位司机</div> <div>已选择{{ st2Data.length }}位司机</div>
<st <st #st2 [bordered]="true" [data]="st2Data" [columns]="columns2" size="small"
#st2 [req]="{ method: 'POST', allInBody: true, reName: { pi: 'pageIndex', ps: 'pageSize' }, params: reqParams }"
*ngIf="columns2" [res]="{ reName: { list: 'data.records', total: 'data.total' } }"
[bordered]="true" [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[data]="st2Data" [loadingDelay]="500" [loading]="service.http.loading" [widthMode]="{ type: 'strict' }" [scroll]="{ x: '600px' }">
[columns]="columns2"
size="small"
[page]="{ show: false }"
[scroll]="{ x: '600px', y: '300px' }"
style="width: 100%"
>
<ng-template st-row="captain" let-item let-index="index"> <ng-template st-row="captain" let-item let-index="index">
<span>{{ item.captainName }}&nbsp;{{ item.captainPhone }}</span> &nbsp; <span>{{ item.captainName }}&nbsp;{{ item.captainPhone }}</span> &nbsp;
<a (click)="setCaptain(item, index)">设置</a> <a (click)="setCaptain(item, index)">设置</a>
</ng-template> </ng-template>
<ng-template st-row="defaultCar" let-item let-index="index">
{{item.default?.carNo}}
</ng-template>
</st> </st>
</div> </div>
</div> </div>

View File

@ -3,7 +3,7 @@ import { ActivatedRoute, Router } from '@angular/router';
import { STChange, STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st'; import { STChange, STColumn, STComponent, STData, STRequestOptions } from '@delon/abc/st';
import { SFComponent, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form'; import { SFComponent, SFSchema, SFSelectWidgetSchema, SFUISchema } from '@delon/form';
import { ModalHelper } from '@delon/theme'; import { ModalHelper } from '@delon/theme';
import { processSingleSort } from '@shared'; import { EAEnvironmentService, processSingleSort } from '@shared';
import { NzDrawerRef, NzDrawerService } from 'ng-zorro-antd/drawer'; import { NzDrawerRef, NzDrawerService } from 'ng-zorro-antd/drawer';
import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal'; import { NzModalRef, NzModalService } from 'ng-zorro-antd/modal';
import { SupplyManagementAddDriversComponent } from 'src/app/routes/supply-management/components/add-drivers/add-drivers.component'; import { SupplyManagementAddDriversComponent } from 'src/app/routes/supply-management/components/add-drivers/add-drivers.component';
@ -37,7 +37,7 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
submitUrl = ''; submitUrl = '';
@Input() @Input()
submitParams = {}; submitParams:any;
constructor( constructor(
private modal: NzModalRef, private modal: NzModalRef,
@ -47,8 +47,8 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
public service: SupplyManagementService, public service: SupplyManagementService,
private modalService: NzModalService, private modalService: NzModalService,
private modalHelper: ModalHelper, private modalHelper: ModalHelper,
private cdr: ChangeDetectorRef private envSrv: EAEnvironmentService
) {} ) { }
/** /**
* 查询参数 * 查询参数
@ -61,26 +61,23 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
} }
ngOnInit() { ngOnInit() {
this.initSF(); this.initSF();
setTimeout(() => {
this.initST(); this.initST();
this.initST2(); this.initST2();
}, 200);
} }
initSF() { initSF() {
this.schema = { this.schema = {
properties: { properties: {
name: { nameOrPhone: {
type: 'string', type: 'string',
title: '', title: '承运司机',
ui: { ui: {
placeholder: '请输入司机姓名/手机号' placeholder: '请输入司机姓名/手机号'
} }
}, },
name2: { carNo: {
type: 'string', type: 'string',
title: '', title: '车牌号',
ui: { ui: {
placeholder: '请输入车牌号' placeholder: '请输入车牌号'
} }
@ -98,13 +95,11 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
this.columns = [ this.columns = [
{ {
title: '司机姓名', title: '司机姓名',
index: 'name', index: 'name'
width: 120
}, },
{ {
title: '手机号', title: '手机号',
index: 'telephone', index: 'telephone'
width: 120
}, },
{ {
title: '指定车辆', title: '指定车辆',
@ -115,7 +110,6 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
title: '状态', title: '状态',
className: 'text-center', className: 'text-center',
index: 'certificationStatus', index: 'certificationStatus',
width: 120,
type: 'badge', type: 'badge',
badge: { badge: {
'-1': { text: '未提交', color: 'default' }, '-1': { text: '未提交', color: 'default' },
@ -127,12 +121,11 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
{ {
title: '操作', title: '操作',
className: 'text-center', className: 'text-center',
width: 80,
buttons: [ buttons: [
{ {
text: '选择', text: '选择',
iif: item => item.showChoose != false, iif: item => item.showChoose != false,
click: (_record, _modal, _instance) => this.choose(_record), click: (_record, _modal, _instance) => this.verifyVechicleStatus(_record),
iifBehavior: 'disabled' iifBehavior: 'disabled'
} }
] ]
@ -145,7 +138,7 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
{ {
title: '司机姓名', title: '司机姓名',
index: 'name', index: 'name',
width: 120 width: '90px'
}, },
{ {
title: '手机号', title: '手机号',
@ -155,17 +148,17 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
{ {
title: '车队长', title: '车队长',
render: 'captain', render: 'captain',
width: '100px' width: '200px'
}, },
{ {
title: '指定车辆', title: '指定车辆',
index: 'carNo', render: 'defaultCar',
width: '130px' width: '130px'
}, },
{ {
title: '操作', title: '操作',
className: 'text-center', className: 'text-center',
width: 80, width: '90px',
buttons: [ buttons: [
{ {
text: '移除', text: '移除',
@ -198,6 +191,23 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
}); });
} }
/**
* 校验司机是否能设置车队长
* @param item 当前对象
*/
verifyCanSetCarCaptain(item: any, index: any) {
this.service.request(this.service.$api_get_sys_config, [{ itemKey: 'sys.config.shipper.setCarCaptain', businessId: this.envSrv.env.enterpriseId }]).subscribe(res => {
if (res && res.length > 0) {
const { itemValue } = res[0];
if (itemValue !== '1') {
this.service.msgSrv.error('不可设置车队长!');
return;
}
this.setCaptain(item, index);
}
})
}
//设置车队长 //设置车队长
setCaptain(record: STData, index: any) { setCaptain(record: STData, index: any) {
this.modalHelper this.modalHelper
@ -260,5 +270,53 @@ export class PublishGoodsChooseFamifiarComponent implements OnInit {
}); });
} }
carChange(event: any, item: STData) {} carChange(event: any, item: STData) {
}
/**
* 验证车辆的状态
*/
verifyVechicleStatus(_record: STData) {
const { carId, appUserId: driverId, captainAppUserId: carCaptainId } = _record;
const carInfo: any = { carId, driverId, carCaptainId };
const goodsInfoList = this.submitParams?.goodsInfoList;
this.service.request(this.service.$api_verify_vehicle_status, { ...carInfo, goodsInfoList }).subscribe((res: any) => {
if (res) {
const { title, alert, subContent, content } = res;
switch (alert) {
case 'Error':
this.error(title, content, subContent);
break;
case 'Warn':
this.showConfirm(_record, title, content, subContent);
break;
case 'Success':
this.choose(_record);
break;
}
}
});
}
error(title: string, content: string, subContent: string): void {
this.modalService.error({
nzTitle: title,
nzContent: `<span class="text-error-dark">${content ? content : ''}</span><span class="text-grey-dark">${subContent ? subContent : ''}</span>`,
nzOkText: '知道了'
});
}
showConfirm(_record: STData, title: string, content: string, subContent: string): void {
this.modalService.confirm({
nzTitle: title,
nzContent: `<span class="text-error-dark">${content ? content : ''}</span><span class="text-grey-dark">${subContent ? subContent : ''}</span>`,
nzOkText: '继续',
nzCancelText: '取消',
nzOnOk: () => {
this.choose(_record);
}
});
}
} }

View File

@ -1,3 +1,13 @@
/*
* @Description :
* @Version : 1.0
* @Author : Shiming
* @Date : 2021-12-06 15:17:52
* @LastEditors : Shiming
* @LastEditTime : 2022-03-02 14:29:12
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\components\\choose-famifiar\\set-captain\\set-captain.component.ts
* Copyright (C) 2022 huzhenhong. All rights reserved.
*/
import { AfterViewInit, ChangeDetectorRef, Component, OnChanges, OnInit, ViewChild } from '@angular/core'; import { AfterViewInit, ChangeDetectorRef, Component, OnChanges, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import { SFComponent, SFSchema, SFSchemaEnumType, SFUISchema } from '@delon/form'; import { SFComponent, SFSchema, SFSchemaEnumType, SFUISchema } from '@delon/form';
@ -16,7 +26,7 @@ export class PublishchooseFamifiarSetCaptainComponent implements OnInit {
i: any; i: any;
constructor(public http: _HttpClient, private cdr: ChangeDetectorRef, private route: ActivatedRoute) {} constructor(public http: _HttpClient, private cdr: ChangeDetectorRef, private route: ActivatedRoute, private modal: NzModalRef,) {}
ngOnInit(): void { ngOnInit(): void {
this.initSF(); this.initSF();
@ -24,12 +34,11 @@ export class PublishchooseFamifiarSetCaptainComponent implements OnInit {
initSF() { initSF() {
this.schema = { this.schema = {
properties: { properties: {
name: { captainPhone: {
type: 'string', type: 'string',
title: '车队长手机号' title: '车队长手机号'
} }
}, },
required: ['name']
}; };
this.ui = { this.ui = {
'*': { '*': {
@ -39,6 +48,6 @@ export class PublishchooseFamifiarSetCaptainComponent implements OnInit {
}; };
} }
close() {} close() {this.modal.close()}
save() {} save() {this.modal.close(this.sf.value.captainPhone)}
} }

View File

@ -7,12 +7,21 @@
</ng-template> </ng-template>
<ng-template #headerContent> <ng-template #headerContent>
<div class="mb-xs" nz-row> <div class="mb-xs" nz-row>
<button nz-button nzType="primary" nzSize="small" nzDanger>{{i?.resourceStatusLabel}}</button> <button nz-button nzType="primary" nzSize="small" nzDanger>{{ i?.resourceStatusLabel }}</button>
<h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4> <h4 class="ml-md">货源编码 : {{ i?.resourceCode }}</h4>
</div> </div>
<div nz-row> <div nz-row>
<div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{i?.enterpriseInfoName}}</div> <div nz-col nzSpan="14" class="text-grey-darker">网络货运人:{{ i?.enterpriseInfoName }}</div>
<div nz-col nzSpan="10"> <div nz-col nzSpan="10">
<<<<<<< HEAD <button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']">取消货源</button>
<button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehicleAnew']">重新指派</button>
<button nz-button (click)="updateGoodsSource(i)" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']">修改货源</button>
<button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']">再下一单</button>
=======
<button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl <button nz-button (click)="cancleGoodsSource()" *ngIf="i?.resourceStatus === '1'" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']">取消货源</button> [acl-ability]="['SUPPLY-VEHICLE-DETAIL-cancelSupply']">取消货源</button>
<button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl <button nz-button (click)="assignedCar(i)" *ngIf="i?.resourceStatus === '1' && i?.serviceType === '2'" acl
@ -21,20 +30,21 @@
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']">修改货源</button> [acl-ability]="['SUPPLY-VEHICLE-DETAIL-changeSupply']">修改货源</button>
<button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl <button nz-button nzType="primary" nzGhost (click)="nextOrder(i)" acl
[acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']">再下一单</button> [acl-ability]="['SUPPLY-VEHICLE-DETAIL-vehiclePlaceOrder']">再下一单</button>
>>>>>>> 82c3801cc6ea10d8f6b895d85fe5553850672cea
</div> </div>
</div> </div>
<div class="mt-sm mb-sm" nz-row> <div class="mt-sm mb-sm" nz-row>
<div> <div>
<b>总费用:<span class="text-red-light text-md">{{i?.totalAmount | currency: '¥'}}</span></b> <b>总费用:<span class="text-red-light text-md">{{ i?.totalAmount | currency: '¥' }}</span></b>
</div> </div>
</div> </div>
<nz-divider></nz-divider> <nz-divider></nz-divider>
<div sv-container *ngIf="i"> <div sv-container *ngIf="i">
<sv label="外部货源号">{{ i?.externalResourceCode }} </sv> <sv label="外部货源号">{{ i?.externalResourceCode }} </sv>
<sv label="项目">{{i?.enterpriseProjectName}}</sv> <sv label="项目">{{ i?.enterpriseProjectName }}</sv>
<sv label="录单员">{{i?.createUserName}}/{{i?.createUserPhone}}</sv> <sv label="录单员">{{ i?.createUserName }}/{{ i?.createUserPhone }}</sv>
<sv label="调度员">{{i?.dispatchName}}/{{i?.dispatchPhone}} </sv> <sv label="调度员">{{ i?.dispatchName }}/{{ i?.dispatchPhone }} </sv>
<sv label="服务类型">{{i?.serviceTypeLabel}} </sv> <sv label="服务类型">{{ i?.serviceTypeLabel }} </sv>
</div> </div>
</ng-template> </ng-template>
</page-header-wrapper> </page-header-wrapper>
@ -42,48 +52,45 @@
<div class="approval-status"> <div class="approval-status">
<div style="width: 60%; margin: 0 auto"> <div style="width: 60%; margin: 0 auto">
<nz-steps [nzLabelPlacement]="'vertical'"> <nz-steps [nzLabelPlacement]="'vertical'">
<nz-step [nzStatus]="i?.resourceStatus !== '1'?'finish':'process'" nzIcon="solution" <nz-step [nzStatus]="i?.resourceStatus !== '1' ? 'finish' : 'process'" nzIcon="solution"
[nzDescription]="i?.createTime" nzTitle="下单"></nz-step> [nzDescription]="i?.createAt" nzTitle="下单" [nzSubtitle]="i?.createTime"></nz-step>
<nz-step *ngIf="i?.resourceStatus === '1' || i?.resourceStatus === '2' " <nz-step *ngIf="i?.resourceStatus === '1' || i?.resourceStatus === '2'"
[nzStatus]="i?.resourceStatus=== '1'? 'wait':'finish'" nzIcon="file-done" [nzTitle]="'接单'" [nzStatus]="i?.resourceStatus === '1' ? 'wait' : 'finish'" nzIcon="file-done" [nzTitle]="'接单'"
[nzDescription]="i?.orderReceivingTime"></nz-step> [nzSubtitle]="i?.orderReceivingTime"></nz-step>
<nz-step nzStatus="finish" nzIcon="close-circle" nzTitle="取消货源" *ngIf="i?.resourceStatus === '3'" <nz-step nzStatus="finish" nzIcon="close-circle" nzTitle="取消货源" *ngIf="i?.resourceStatus === '3'"
[nzDescription]="i?.endTime"></nz-step> [nzSubtitle]="i?.endTime"></nz-step>
</nz-steps> </nz-steps>
</div> </div>
</div> </div>
</nz-card> </nz-card>
<nz-card nzTitle="基本信息"> <nz-card nzTitle="基本信息">
<sv-container col="2"> <sv-container col="2">
<sv-title>货物信息</sv-title> <sv-title>货物信息</sv-title>
<ng-container *ngFor="let item of i?.goodsInfoVOList"> <ng-container *ngFor="let item of i?.goodsInfoVOList">
<sv label="货物名称"> <sv label="货物名称">
{{item.goodsName}} {{ item.goodsName }}
</sv>
<sv label="货物数量">
{{item.weight}}吨,{{item.volume}}方,{{item.number}}件
</sv> </sv>
<sv label="货物数量"> {{ item.weight }}吨,{{ item.volume }}方,{{ item.number }}件 </sv>
</ng-container> </ng-container>
</sv-container> </sv-container>
<sv-container class="mt-md"> <sv-container class="mt-md">
<sv-title>承运信息</sv-title> <sv-title>承运信息</sv-title>
<sv label="司机姓名"> <sv label="司机姓名">
{{i?.carrierInformationVO?.driverName}} {{ i?.carrierInformationVO?.driverName }}
</sv> </sv>
<sv label="手机号"> <sv label="手机号">
{{i?.carrierInformationVO?.driverTelephone}} {{ i?.carrierInformationVO?.driverTelephone }}
</sv> </sv>
<sv label="车牌号"> <sv label="车牌号">
{{i?.carrierInformationVO?.driverLicensePlate}} {{ i?.carrierInformationVO?.driverLicensePlate }}
</sv> </sv>
</sv-container> </sv-container>
<div class="mt-md"> <div class="mt-md">
<h4 class="text-md">装货卸货信息 <h4 class="text-md">装货卸货信息
<span class="ml-sm text-sm">( <span class="ml-sm text-sm">(
<label>{{i?.loadingCount}}装</label> <label>{{ i?.loadingCount }}装</label>
<label>{{i?.unloadingCount}}卸</label> <label>{{ i?.unloadingCount }}卸</label>
) )
</span> </span>
</h4> </h4>
@ -94,12 +101,12 @@
<div *ngIf="item?.type === '1'" class="loading-row"> <div *ngIf="item?.type === '1'" class="loading-row">
<div class="handling-info-icon loading-bg"></div> <div class="handling-info-icon loading-bg"></div>
<div class="info"> <div class="info">
<h4>装货地:{{item?.province}}{{item?.city}}{{item?.area}}{{item?.detailedAddress}}</h4> <h4>装货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p> <p>联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
</div> </div>
</div> </div>
</div> </div>
<p class="time-info">装货时间:{{i?.loadingTime}}</p> <p class="time-info">装货时间:{{ i?.loadingTime }}</p>
</div> </div>
</div> </div>
<div nz-col [nzSpan]="12"> <div nz-col [nzSpan]="12">
@ -108,12 +115,12 @@
<div *ngIf="item?.type === '2'" class="loading-row"> <div *ngIf="item?.type === '2'" class="loading-row">
<div class="handling-info-icon unloaing-bg"></div> <div class="handling-info-icon unloaing-bg"></div>
<div class="info"> <div class="info">
<h4>卸货地:{{item?.province}}{{item?.city}}{{item?.area}}{{item?.detailedAddress}}</h4> <h4>卸货地:{{ item?.province }}{{ item?.city }}{{ item?.area }}{{ item?.detailedAddress }}</h4>
<p>联系人:{{item?.appUserName}}/{{item?.contractTelephone}}</p> <p>联系人:{{ item?.appUserName }}/{{ item?.contractTelephone }}</p>
</div> </div>
</div> </div>
</div> </div>
<p class="time-info">卸货时间:{{i?.unloadingTime}}</p> <p class="time-info">卸货时间:{{ i?.unloadingTime }}</p>
</div> </div>
</div> </div>
</div> </div>
@ -123,27 +130,25 @@
<nz-card nzTitle="服务信息"> <nz-card nzTitle="服务信息">
<sv-container> <sv-container>
<sv label="增值服务套餐"> <sv label="增值服务套餐">
{{i?.insuranceTypeLabel}} {{ i?.insuranceTypeLabel }}
</sv> </sv>
<sv label="货物价值"> <sv label="货物价值">
{{i?.goodsValue |currency}} {{ i?.goodsValue | currency }}
</sv>
<sv label="保价费金额">
{{i?.insurancePremium |currency}} 元
</sv> </sv>
<sv label="保价费金额"> {{ i?.insurancePremium | currency }} 元 </sv>
</sv-container> </sv-container>
</nz-card> </nz-card>
<nz-card [nzTitle]="'运费信息到货后'+i?.paymentDays+'天内支付运费'"> <nz-card [nzTitle]="'运费信息到货后' + i?.paymentDays + '天内支付运费'">
<st [data]="i?.expenseVOList" [columns]="expenseColumns" [page]="{show:false}"> <st [data]="i?.expenseVOList" [columns]="expenseColumns" [page]="{ show: false }">
<ng-template st-row="total" let-item> <ng-template st-row="total" let-item>
<div> <div>
{{item?.totalAmount | currency}} {{ item?.totalAmount | currency }}
<span>(含附加费)</span> <span>(含附加费)</span>
</div> </div>
</ng-template> </ng-template>
<ng-template st-row="price" let-item> <ng-template st-row="price" let-item>
<div> <div>
{{item?.price | currency}} {{ item?.price | currency }}
</div> </div>
</ng-template> </ng-template>
</st> </st>
@ -152,9 +157,9 @@
<h3> <h3>
<label>总计 :</label> <label>总计 :</label>
<span class="text-error-dark text-xl"> <span class="text-error-dark text-xl">
{{(i?.totalAmount) | currency}} {{ i?.totalAmount | currency }}
</span> </span>
<span>(运费{{i?.totalFreight | currency}}含附加运费 {{i?.totalSurcharge| currency}}</span> <span>(运费{{ i?.totalFreight | currency }}含附加运费 {{ i?.totalSurcharge | currency }}</span>
</h3> </h3>
<div>收款人:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeCardNo }}</div> <div>收款人:{{ i?.payeeName }}/{{ i?.payeePhone }}/{{ i?.payeeCardNo }}</div>
</div> </div>
@ -163,24 +168,23 @@
<nz-card nzTitle="补充信息"> <nz-card nzTitle="补充信息">
<sv-container> <sv-container>
<sv label="是否回单"> <sv label="是否回单">
{{i?.supplementaryInformationVO?.stateReceipt?'是':'否'}} {{ i?.supplementaryInformationVO?.stateReceipt ? '是' : '否' }}
</sv> </sv>
<sv label="回单类型"> <sv label="回单类型">
{{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }} {{ i?.supplementaryInformationVO?.receiptType === '1' ? '电子回单' : '纸质回单' }}
</sv> </sv>
<sv label="所在地区"> <sv label="所在地区">
{{i?.supplementaryInformationVO?.area}} {{ i?.supplementaryInformationVO?.area }}
</sv> </sv>
<sv label="详细地址"> <sv label="详细地址">
{{i?.supplementaryInformationVO?.address}} {{ i?.supplementaryInformationVO?.address }}
</sv> </sv>
<sv label="备注"> <sv label="备注">
{{i?.supplementaryInformationVO?.remarks}} {{ i?.supplementaryInformationVO?.remarks }}
</sv> </sv>
</sv-container> </sv-container>
</nz-card> </nz-card>
<nz-card nzTitle="操作日志"> <nz-card nzTitle="操作日志">
<st #st [data]="i?.auditRecordList" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }"> <st #st [data]="i?.auditRecordList" [columns]="logColumns" [ps]="0" [page]="{ show: false, showSize: false }"> </st>
</st>
</nz-card> </nz-card>
</div> </div>

View File

@ -71,6 +71,9 @@
[loading]="loading" [loading]="loading"
[scroll]="{ x: '1200px', y: '500px' }" [scroll]="{ x: '1200px', y: '500px' }"
> >
<ng-template st-row="createUserName" let-item let-index="index">
<div> {{ item?.createUserName }}/{{ item?.createUserPhone }} </div>
</ng-template>
<ng-template st-row="resourceCode" let-item let-index="index"> <ng-template st-row="resourceCode" let-item let-index="index">
<a [routerLink]="'vehicle-detail/' + item?.id">{{ item?.resourceCode }}</a> <a [routerLink]="'vehicle-detail/' + item?.id">{{ item?.resourceCode }}</a>
<p>{{ item?.resourceTypeLabel }}{{ item?.serviceTypeLabel }}</p> <p>{{ item?.resourceTypeLabel }}{{ item?.serviceTypeLabel }}</p>

View File

@ -21,7 +21,7 @@ export class SupplyManagementVehicleComponent implements OnInit {
@ViewChild('st') private readonly st!: STComponent; @ViewChild('st') private readonly st!: STComponent;
@ViewChild('sf', { static: false }) sf!: SFComponent; @ViewChild('sf', { static: false }) sf!: SFComponent;
@ViewChild('sfFre', { static: false }) sfFre!: SFComponent; @ViewChild('sfFre', { static: false }) sfFre!: SFComponent;
loading:boolean = true; loading: boolean = true;
schema: SFSchema = this.initSF(); schema: SFSchema = this.initSF();
columns: STColumn[] = this.initST(); columns: STColumn[] = this.initST();
_$expand = false; _$expand = false;
@ -58,7 +58,7 @@ export class SupplyManagementVehicleComponent implements OnInit {
if (this.resourceStatus) { if (this.resourceStatus) {
a.resourceStatus = this.resourceStatus; a.resourceStatus = this.resourceStatus;
} }
this.loading = true this.loading = true;
return { return {
...a ...a
}; };
@ -81,10 +81,10 @@ export class SupplyManagementVehicleComponent implements OnInit {
return requestOptions; return requestOptions;
}; };
afterRes = (data: any[], rawData?: any) => { afterRes = (data: any[], rawData?: any) => {
this.loading = false this.loading = false;
return data.map(item => ({ return data.map(item => ({
...item, ...item,
disabled: item.auditStatus !== '1', disabled: item.auditStatus !== '1'
})); }));
}; };
@ -362,7 +362,7 @@ export class SupplyManagementVehicleComponent implements OnInit {
}, },
allowClear: true, allowClear: true,
onSearch: (q: any) => { onSearch: (q: any) => {
let str =q.replace(/^\s+|\s+$/g,""); let str = q.replace(/^\s+|\s+$/g, '');
if (str) { if (str) {
return this.service return this.service
.request(this.service.$api_enterpriceList, { enterpriseName: str }) .request(this.service.$api_enterpriceList, { enterpriseName: str })
@ -477,12 +477,14 @@ export class SupplyManagementVehicleComponent implements OnInit {
className: 'text-left', className: 'text-left',
render: 'resourceCode' render: 'resourceCode'
}, },
{ title: '录单员', render: 'createUserName', width: '200px', className: 'text-left' },
{ {
title: '货主', title: '货主',
index: 'shipperAppUserName', index: 'shipperAppUserName',
width: '180px', width: '180px',
className: 'text-left' className: 'text-left'
}, },
{ {
title: '项目名称', title: '项目名称',
index: 'enterpriseProjectName', index: 'enterpriseProjectName',
@ -606,8 +608,7 @@ export class SupplyManagementVehicleComponent implements OnInit {
iif: item => item.resourceStatus === '1' && item.serviceType === '2', iif: item => item.resourceStatus === '1' && item.serviceType === '2',
acl: { ability: ['SUPPLY-INDEX-vehicleReassign'] } acl: { ability: ['SUPPLY-INDEX-vehicleReassign'] }
}, },
{type: 'divider'}, { type: 'divider' }
] ]
} }
]; ];

View File

@ -4,7 +4,7 @@
* @Author : Shiming * @Author : Shiming
* @Date : 2021-12-03 11:10:14 * @Date : 2021-12-03 11:10:14
* @LastEditors : Shiming * @LastEditors : Shiming
* @LastEditTime : 2022-03-02 10:10:18 * @LastEditTime : 2022-03-02 14:27:18
* @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\services\\supply-management.service.ts * @FilePath : \\tms-obc-web\\src\\app\\routes\\supply-management\\services\\supply-management.service.ts
* Copyright (C) 2022 huzhenhong. All rights reserved. * Copyright (C) 2022 huzhenhong. All rights reserved.
*/ */
@ -165,4 +165,6 @@ export class SupplyManagementService extends BaseService {
public $api_getNetworkTransporter = '/api/mdc/cuc/enterpriseInfo/operate/getNetworkTransporter'; public $api_getNetworkTransporter = '/api/mdc/cuc/enterpriseInfo/operate/getNetworkTransporter';
$api_verify_vehicle_status = `/api/sdc/goodsResourceShipper/saveVerify`;// 发布货源校验司机/车队长的状态 $api_verify_vehicle_status = `/api/sdc/goodsResourceShipper/saveVerify`;// 发布货源校验司机/车队长的状态
$api_get_sys_config = `/api/mdc/pbc/sysConfigItem/findConfigValues`; // 根据项key、业务id获取配置信息 $api_get_sys_config = `/api/mdc/pbc/sysConfigItem/findConfigValues`; // 根据项key、业务id获取配置信息
// 获取指派熟车列表
$api_getListCars = '/api/mdc/cuc/enterpriseVehicle/getPracticeCarList';
} }

View File

@ -11,34 +11,17 @@
<img [src]="userDetail?.avatar" /> <img [src]="userDetail?.avatar" />
<div style="flex: 1"> <div style="flex: 1">
<div style="display: flex; width: 100%; justify-content: space-between"> <div style="display: flex; width: 100%; justify-content: space-between">
<p style="padding-right: 80px; width: 400px" <p style="padding-right: 80px; width: 400px">{{ userDetail?.name }}
>{{ userDetail?.name }}
<nz-badge nzStatus="success" nzText="正常" *ngIf="!userDetail?.stateLocked" class="ml-xl"> </nz-badge> <nz-badge nzStatus="success" nzText="正常" *ngIf="!userDetail?.stateLocked" class="ml-xl"> </nz-badge>
<nz-badge nzStatus="warning" nzText="冻结" *ngIf="userDetail?.stateLocked" class="ml-xl"> </nz-badge> <nz-badge nzStatus="warning" nzText="冻结" *ngIf="userDetail?.stateLocked" class="ml-xl"> </nz-badge>
</p> </p>
<div style="margin-right: 24px"> <div style="margin-right: 24px">
<button <button *ngIf="userDetail?.stateLocked" [nzLoading]="service.http.loading" nz-button nzType="primary"
*ngIf="userDetail?.stateLocked" nzGhost (click)="userAction(1)" acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-lock']">
[nzLoading]="service.http.loading"
nz-button
nzType="primary"
nzGhost
(click)="userAction(1)"
acl
[acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-lock']"
>
启用 启用
</button> </button>
<button <button *ngIf="!userDetail?.stateLocked" [nzLoading]="service.http.loading" nz-button nzDanger nzGhost
*ngIf="!userDetail?.stateLocked" (click)="userAction(0)" acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-lock']">
[nzLoading]="service.http.loading"
nz-button
nzDanger
nzGhost
(click)="userAction(0)"
acl
[acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-lock']"
>
冻结 冻结
</button> </button>
</div> </div>
@ -56,13 +39,12 @@
<nz-card [nzLoading]="service.http.loading"> <nz-card [nzLoading]="service.http.loading">
<div [class]="isEditUser ? 'edit-box' : 'readOnly-box'"> <div [class]="isEditUser ? 'edit-box' : 'readOnly-box'">
<sv-container col="2"> <sv-container col="2">
<sv-title <sv-title>个人信息
>个人信息 <label *ngIf="userIdentityDetail?.certificationStatus === 1" style="color: #52c41a" class="ml-md"><i nz-icon
<label *ngIf="userIdentityDetail?.certificationStatus === 1" style="color: #52c41a" class="ml-md" nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过
><i nz-icon nzType="check-circle" nzTheme="fill" class="mr-xs"></i>审核通过
</label> </label>
<label *ngIf="userIdentityDetail?.certificationStatus === 2" style="color: #ff4d4f" class="ml-md" <label *ngIf="userIdentityDetail?.certificationStatus === 2" style="color: #ff4d4f" class="ml-md"><i nz-icon
><i nz-icon nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回 nzType="close-circle" nzTheme="fill" class="mr-xs"></i>驳回
</label> </label>
<div style="float: right"> <div style="float: right">
<ng-container *ngIf="isEditUser; else elseTemplate"> <ng-container *ngIf="isEditUser; else elseTemplate">
@ -70,40 +52,28 @@
<button [nzLoading]="service.http.loading" nz-button nzDanger (click)="saveUser()"> 保存 </button> <button [nzLoading]="service.http.loading" nz-button nzDanger (click)="saveUser()"> 保存 </button>
</ng-container> </ng-container>
<ng-template #elseTemplate> <ng-template #elseTemplate>
<button nz-button nzType="default" nzDanger (click)="approveUser()" *ngIf="userIdentityDetail?.certificationStatus === 0" <button nz-button nzType="default" nzDanger (click)="approveUser()"
acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-audit']">审核通过</button *ngIf="userIdentityDetail?.certificationStatus === 0" acl
> [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-audit']">审核通过</button>
<button nz-button nzType="default" nzDanger (click)="rejectedUser()" *ngIf="userIdentityDetail?.certificationStatus === 0" <button nz-button nzType="default" nzDanger (click)="rejectedUser()"
acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-audit']" >驳回审核</button *ngIf="userIdentityDetail?.certificationStatus === 0" acl
> [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-audit']">驳回审核</button>
<button nz-button nzType="default" nzDanger (click)="ratify()" acl [acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-edit']">修改</button> <button nz-button nzType="default" nzDanger (click)="ratify()" acl
[acl-ability]="['USERCENTER-DRIVER-CAPTAIN-DETAIL-edit']">修改</button>
</ng-template> </ng-template>
</div> </div>
</sv-title> </sv-title>
<sv label="姓名"> <sv label="姓名">
<input <input nz-input type="text" [(ngModel)]="userIdentityDetail.name" [readonly]="!isEditUser"
nz-input [nzBorderless]="!isEditUser" [placeholder]="isEditUser ? '' : '-'" />
type="text"
[(ngModel)]="userIdentityDetail.name"
[readonly]="!isEditUser"
[nzBorderless]="!isEditUser"
[placeholder]="isEditUser ? '' : '-'"
/>
</sv> </sv>
<sv label="身份证号"> <sv label="身份证号">
<input <input nz-input type="text" [(ngModel)]="userIdentityDetail.certificateNumber" [readonly]="!isEditUser"
nz-input [nzBorderless]="!isEditUser" [placeholder]="isEditUser ? '' : '-'" />
type="text"
[(ngModel)]="userIdentityDetail.certificateNumber"
[readonly]="!isEditUser"
[nzBorderless]="!isEditUser"
[placeholder]="isEditUser ? '' : '-'"
/>
</sv> </sv>
<sv label="身份证照" col="1"> <sv label="身份证照" col="1">
<div class="d-flex"> <div class="d-flex">
<ng-container <ng-container *ngTemplateOutlet="
*ngTemplateOutlet="
uploadTemplate; uploadTemplate;
context: { context: {
data: userIdentityDetail, data: userIdentityDetail,
@ -112,11 +82,9 @@
key2: 'certificatePhotoFront', key2: 'certificatePhotoFront',
hover: 'certificateBackFront' hover: 'certificateBackFront'
} }
" ">
>
</ng-container> </ng-container>
<ng-container <ng-container *ngTemplateOutlet="
*ngTemplateOutlet="
uploadTemplate; uploadTemplate;
context: { context: {
data: userIdentityDetail, data: userIdentityDetail,
@ -125,8 +93,7 @@
key2: 'certificatePhotoBack', key2: 'certificatePhotoBack',
hover: 'certificateBack' hover: 'certificateBack'
} }
" ">
>
</ng-container> </ng-container>
</div> </div>
</sv> </sv>
@ -158,28 +125,16 @@
</ng-template> </ng-template>
<ng-template #uploadTemplate let-data="data" let-status="status" let-key="key" let-key2="key2" let-hover="hover"> <ng-template #uploadTemplate let-data="data" let-status="status" let-key="key" let-key2="key2" let-hover="hover">
<nz-upload <nz-upload class="avatar-uploader" [nzAction]="uploadURl" nzName="multipartFile" nzListType="picture-card"
class="avatar-uploader" [nzShowUploadList]="false" nzFileType="image/png,image/jpeg,image/jpg,image/gif"
[nzAction]="uploadURl" [nzDisabled]="!status || disabledUpload" (nzChange)="changeUpload($event, data, key, key2)">
nzName="multipartFile"
nzListType="picture-card"
[nzShowUploadList]="false"
nzFileType="image/png,image/jpeg,image/jpg,image/gif"
[nzDisabled]="!status || disabledUpload"
(nzChange)="changeUpload($event, data, key, key2)"
>
<ng-container *ngIf="!data[key] && status"> <ng-container *ngIf="!data[key] && status">
<i class="upload-icon" nz-icon [nzType]="service.http.loading ? 'loading' : 'plus'"></i> <i class="upload-icon" nz-icon [nzType]="service.http.loading ? 'loading' : 'plus'"></i>
<div class="ant-upload-text">上传</div> <div class="ant-upload-text">上传</div>
</ng-container> </ng-container>
<div <div *ngIf="data[key]" (mouseover)="data[hover] = true" (mouseleave)="data[hover] = false"
*ngIf="data[key]" (click)="$event.cancelBubble = true" class="image-hover">
(mouseover)="data[hover] = true" <img nz-image [nzSrc]="data[key]" style="width: 200px; height: 160px" />
(mouseleave)="data[hover] = false"
(click)="$event.cancelBubble = true"
class="image-hover"
>
<img [src]="data[key]" style="width: 200px; height: 160px" (click)="showImg(data[key])" />
<div class="mask" *ngIf="data[hover] && status"></div> <div class="mask" *ngIf="data[hover] && status"></div>
<div class="mask-over" *ngIf="data[hover] && status"> <div class="mask-over" *ngIf="data[hover] && status">
<i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" (click)="deleteImg(data, key, key2)"></i> <i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" (click)="deleteImg(data, key, key2)"></i>

View File

@ -2,6 +2,7 @@ import { DatePipe } from '@angular/common';
import { Component, OnInit, ViewChild } from '@angular/core'; import { Component, OnInit, ViewChild } from '@angular/core';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import { apiConf } from '@conf/api.conf'; import { apiConf } from '@conf/api.conf';
import { NzImageService } from 'ng-zorro-antd/image';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { UsermanageService } from 'src/app/routes/usercenter/services/usercenter.service'; import { UsermanageService } from 'src/app/routes/usercenter/services/usercenter.service';
import { ImageViewComponent } from 'src/app/shared/components/imagelist'; import { ImageViewComponent } from 'src/app/shared/components/imagelist';
@ -31,7 +32,8 @@ export class CaptainDetailComponent implements OnInit {
private nzModalService: NzModalService, private nzModalService: NzModalService,
public service: UsermanageService, public service: UsermanageService,
private route: ActivatedRoute, private route: ActivatedRoute,
private datePipe: DatePipe private datePipe: DatePipe,
private nzImageService: NzImageService
) {} ) {}
ngOnInit() { ngOnInit() {
@ -192,7 +194,8 @@ export class CaptainDetailComponent implements OnInit {
imgList: [url], imgList: [url],
index: 0 index: 0
}; };
this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } }); this.nzImageService.preview([{ src: url }]);
// this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } });
} }
deleteImg(data: any, key: string, key2: string) { deleteImg(data: any, key: string, key2: string) {

View File

@ -318,7 +318,7 @@
</ng-container> </ng-container>
<div *ngIf="data[key]" (mouseover)="data[hover]=true" (mouseleave)="data[hover]=false" <div *ngIf="data[key]" (mouseover)="data[hover]=true" (mouseleave)="data[hover]=false"
(click)="$event.cancelBubble=true" class="image-hover"> (click)="$event.cancelBubble=true" class="image-hover">
<img [src]="data[key]" style="width: 200px;height: 160px;" (click)="showImg(data[key])" /> <img nz-image [nzSrc]="data[key]" style="width: 200px;height: 160px;" />
<div class="mask" *ngIf="data[hover] && status"></div> <div class="mask" *ngIf="data[hover] && status"></div>
<div class="mask-over" *ngIf="data[hover] && status"> <div class="mask-over" *ngIf="data[hover] && status">
<i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" (click)="deleteImg(data,key,key2)"></i> <i nz-icon nzType="close-circle" nzTheme="fill" class="delete-icon" (click)="deleteImg(data,key,key2)"></i>

View File

@ -5,6 +5,7 @@ import { apiConf } from '@conf/api.conf';
import { STColumn, STComponent } from '@delon/abc/st'; import { STColumn, STComponent } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema, SFTagWidgetSchema, SFTextWidgetSchema, SFUISchema } from '@delon/form'; import { SFComponent, SFDateWidgetSchema, SFSchema, SFTagWidgetSchema, SFTextWidgetSchema, SFUISchema } from '@delon/form';
import { ModalHelper, _HttpClient } from '@delon/theme'; import { ModalHelper, _HttpClient } from '@delon/theme';
import { NzImageService } from 'ng-zorro-antd/image';
import { NzMessageService } from 'ng-zorro-antd/message'; import { NzMessageService } from 'ng-zorro-antd/message';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { ImageViewComponent } from 'src/app/shared/components/imagelist'; import { ImageViewComponent } from 'src/app/shared/components/imagelist';
@ -65,7 +66,8 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
private nzModalService: NzModalService, private nzModalService: NzModalService,
public service: UsermanageService, public service: UsermanageService,
public route: ActivatedRoute, public route: ActivatedRoute,
private datePipe: DatePipe private datePipe: DatePipe,
private nzImageService: NzImageService
) {} ) {}
ngOnInit() { ngOnInit() {
@ -423,11 +425,7 @@ export class UserCenterComponentsDriverDetailComponent implements OnInit {
} }
showImg(url: any) { showImg(url: any) {
const params = { this.nzImageService.preview([{ src: url }]);
imgList: [url],
index: 0
};
this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } });
} }
deleteImg(data: any, key: string, key2: string) { deleteImg(data: any, key: string, key2: string) {

View File

@ -19,6 +19,7 @@ import { NzModalService } from 'ng-zorro-antd/modal';
import { apiConf } from '@conf/api.conf'; import { apiConf } from '@conf/api.conf';
import { ImageViewComponent } from 'src/app/shared/components/imagelist'; import { ImageViewComponent } from 'src/app/shared/components/imagelist';
import { NzCascaderOption } from 'ng-zorro-antd/cascader'; import { NzCascaderOption } from 'ng-zorro-antd/cascader';
import { NzImageService } from 'ng-zorro-antd/image';
@Component({ @Component({
selector: 'app-Freight-components-EnterpriseAudit-view', selector: 'app-Freight-components-EnterpriseAudit-view',
templateUrl: './view.component.html', templateUrl: './view.component.html',
@ -49,7 +50,12 @@ export class FreightComponentsEnterpriseAuditViewComponent implements OnInit {
values: string[] | null = null; values: string[] | null = null;
ltdId: any[] = []; ltdId: any[] = [];
constructor(private nzModalService: NzModalService, public service: UsermanageService, private route: ActivatedRoute) {} constructor(
private nzModalService: NzModalService,
public service: UsermanageService,
private route: ActivatedRoute,
private nzImageService: NzImageService
) {}
ngOnInit() { ngOnInit() {
this.initData(); this.initData();
@ -127,7 +133,8 @@ export class FreightComponentsEnterpriseAuditViewComponent implements OnInit {
imgList: [url], imgList: [url],
index: 0 index: 0
}; };
this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } }); this.nzImageService.preview([{ src: url }]);
// this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } });
} }
deleteImg(key: string) { deleteImg(key: string) {

View File

@ -4,6 +4,7 @@ import { apiConf } from '@conf/api.conf';
import { STColumn, STComponent } from '@delon/abc/st'; import { STColumn, STComponent } from '@delon/abc/st';
import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form'; import { SFComponent, SFDateWidgetSchema, SFSchema, SFUISchema } from '@delon/form';
import { ModalHelper, _HttpClient } from '@delon/theme'; import { ModalHelper, _HttpClient } from '@delon/theme';
import { NzImageService } from 'ng-zorro-antd/image';
import { NzMessageService } from 'ng-zorro-antd/message'; import { NzMessageService } from 'ng-zorro-antd/message';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { ImageViewComponent } from 'src/app/shared/components/imagelist'; import { ImageViewComponent } from 'src/app/shared/components/imagelist';
@ -34,7 +35,12 @@ export class FreightComponentsUserDetailComponent implements OnInit {
isEditUser = false; isEditUser = false;
uploadURl = apiConf.waterFileUpload; uploadURl = apiConf.waterFileUpload;
disabledUpload = false; disabledUpload = false;
constructor(private nzModalService: NzModalService, public service: UsermanageService, public route: ActivatedRoute) {} constructor(
private nzModalService: NzModalService,
public service: UsermanageService,
public route: ActivatedRoute,
private nzImageService: NzImageService
) {}
ngOnInit() { ngOnInit() {
this.initData(); this.initData();
@ -170,7 +176,8 @@ export class FreightComponentsUserDetailComponent implements OnInit {
imgList: [url], imgList: [url],
index: 0 index: 0
}; };
this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } }); this.nzImageService.preview([{ src: url }]);
// this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } });
} }
deleteImg(data: any, key: string, key2: string) { deleteImg(data: any, key: string, key2: string) {

View File

@ -10,6 +10,7 @@ import { Injectable, Injector } from '@angular/core';
import { cacheConf } from '@conf/cache.conf'; import { cacheConf } from '@conf/cache.conf';
import { _HttpClient } from '@delon/theme'; import { _HttpClient } from '@delon/theme';
import { EACacheService, ShipperBaseService } from '@shared'; import { EACacheService, ShipperBaseService } from '@shared';
import { NzImageService } from 'ng-zorro-antd/image';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { ImageViewComponent } from 'src/app/shared/components/imagelist'; import { ImageViewComponent } from 'src/app/shared/components/imagelist';
@Injectable({ @Injectable({
@ -144,7 +145,12 @@ export class UsermanageService extends ShipperBaseService {
// 查询司机配置列表 // 查询司机配置列表
$api_configPage = '/api/mdc/cuc/driver/list/configPage'; $api_configPage = '/api/mdc/cuc/driver/list/configPage';
constructor(public injector: Injector, private nzModalService: NzModalService, public eaCacheSrv: EACacheService) { constructor(
public injector: Injector,
private nzModalService: NzModalService,
public eaCacheSrv: EACacheService,
private nzImageService: NzImageService
) {
super(injector, eaCacheSrv); super(injector, eaCacheSrv);
} }
@ -153,6 +159,7 @@ export class UsermanageService extends ShipperBaseService {
imgList: [url], imgList: [url],
index: 0 index: 0
}; };
this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } }); this.nzImageService.preview([{ src: url }]);
// this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } });
} }
} }

View File

@ -14,6 +14,7 @@ import { VehicleService } from '../../../services/vehicle.service';
import { EADateUtil } from '@shared'; import { EADateUtil } from '@shared';
import { VehicleImgViewComponent } from '../../list/img-view/img-view.component'; import { VehicleImgViewComponent } from '../../list/img-view/img-view.component';
import { VehicleComponentsListEditComponent } from '../../list/edit/edit.component'; import { VehicleComponentsListEditComponent } from '../../list/edit/edit.component';
import { NzImageService } from 'ng-zorro-antd/image';
@Component({ @Component({
selector: 'app-Vehicle-components-Audit-detail', selector: 'app-Vehicle-components-Audit-detail',
@ -25,7 +26,7 @@ export class VehicleComponentsAuditDetailComponent implements OnInit {
@ViewChild('redectModal', { static: false }) redectModal!: any; @ViewChild('redectModal', { static: false }) redectModal!: any;
columns!: STColumn[]; columns!: STColumn[];
detailData: any = this.initData(); detailData: any = this.initData();
tempalateData :any; tempalateData: any;
contenCarNoColor: any; contenCarNoColor: any;
contencarModel: any; contencarModel: any;
contenCarLength: any; contenCarLength: any;
@ -33,11 +34,16 @@ export class VehicleComponentsAuditDetailComponent implements OnInit {
approvalOpinion = ''; approvalOpinion = '';
uploadURl = apiConf.waterFileUpload; uploadURl = apiConf.waterFileUpload;
disabledUpload = false; disabledUpload = false;
constructor(public service: VehicleService, private route: ActivatedRoute, private nzModalService: NzModalService, private modal: ModalHelper,) {} constructor(
public service: VehicleService,
private route: ActivatedRoute,
private nzModalService: NzModalService,
private modal: ModalHelper,
private nzImageService: NzImageService
) {}
ngOnInit() { ngOnInit() {
this.getSelectList(); this.getSelectList();
console.log(this.route.snapshot.params)
this.getDetailList(); this.getDetailList();
this.initST(); this.initST();
} }
@ -56,21 +62,20 @@ export class VehicleComponentsAuditDetailComponent implements OnInit {
buttons: [ buttons: [
{ {
text: '查看协议', text: '查看协议',
click: (_record) => this.viewEvaluate(_record), click: _record => this.viewEvaluate(_record),
iif: item => item.auditStatusEnum == 10 || item.auditStatusEnum == 20, iif: item => item.auditStatusEnum == 10 || item.auditStatusEnum == 20
}, },
{ {
text: '上传协议', text: '上传协议',
click: (_record) => this.updateEvaluate(_record), click: _record => this.updateEvaluate(_record),
iif: item => item.auditStatusEnum == -1, iif: item => item.auditStatusEnum == -1
}, }
] ]
} }
]; ];
} }
getDetailList() { getDetailList() {
console.log(this.route.snapshot.queryParams.carId);
const params = { const params = {
id: this.route.snapshot?.params?.id id: this.route.snapshot?.params?.id
}; };
@ -88,7 +93,7 @@ export class VehicleComponentsAuditDetailComponent implements OnInit {
this.adjuctUser( this.adjuctUser(
{ {
approvalStatus: 20, approvalStatus: 20,
id: this.route.snapshot?.params?.id, id: this.route.snapshot?.params?.id
}, },
'审核成功' '审核成功'
); );
@ -125,23 +130,21 @@ export class VehicleComponentsAuditDetailComponent implements OnInit {
save() { save() {
this.isEdit = false; this.isEdit = false;
this.detailData.driverLicenseRegisterTime = EADateUtil.yearToDate(this.detailData?.driverLicenseRegisterTime) this.detailData.driverLicenseRegisterTime = EADateUtil.yearToDate(this.detailData?.driverLicenseRegisterTime);
this.detailData.driverLicenseEndTime = EADateUtil.yearToDate(this.detailData?.driverLicenseEndTime) this.detailData.driverLicenseEndTime = EADateUtil.yearToDate(this.detailData?.driverLicenseEndTime);
this.detailData.driverLicenseGetTime = EADateUtil.yearToDate(this.detailData?.driverLicenseGetTime) this.detailData.driverLicenseGetTime = EADateUtil.yearToDate(this.detailData?.driverLicenseGetTime);
this.detailData.roadTransportStartTime = EADateUtil.yearToDate(this.detailData?.roadTransportStartTime) this.detailData.roadTransportStartTime = EADateUtil.yearToDate(this.detailData?.roadTransportStartTime);
this.detailData.roadTransportEndTime = EADateUtil.yearToDate(this.detailData?.roadTransportEndTime) this.detailData.roadTransportEndTime = EADateUtil.yearToDate(this.detailData?.roadTransportEndTime);
console.log(this.detailData) this.service.request(this.service.$api_get_update_audit, this.detailData).subscribe(res => {
this.service.request(this.service.$api_get_update_audit, this.detailData).subscribe((res)=>{ if (res) {
console.log(res) this.getDetailList();
if(res) { this.service.msgSrv.success('修改成功!');
this.getDetailList()
this.service.msgSrv.success('修改成功!')
} }
}) });
} }
ratify() { ratify() {
@ -149,7 +152,6 @@ export class VehicleComponentsAuditDetailComponent implements OnInit {
} }
changeUpload({ file, fileList, type }: any, key: string) { changeUpload({ file, fileList, type }: any, key: string) {
console.log({ file, fileList, type });
if (type === 'success') { if (type === 'success') {
this.detailData[key] = file.response.data.fullFileWatermarkPath; this.detailData[key] = file.response.data.fullFileWatermarkPath;
} }
@ -169,7 +171,8 @@ export class VehicleComponentsAuditDetailComponent implements OnInit {
imgList: [url], imgList: [url],
index: 0 index: 0
}; };
this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } }); this.nzImageService.preview([{ src: url }]);
// this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } });
} }
deleteImg(key: string) { deleteImg(key: string) {
@ -220,36 +223,37 @@ export class VehicleComponentsAuditDetailComponent implements OnInit {
} }
// 获取录单员 // 获取录单员
getSelectList() { getSelectList() {
this.Serveice("car:color") this.Serveice('car:color');
this.Serveice("car:model") this.Serveice('car:model');
this.Serveice("car:length") this.Serveice('car:length');
} }
Serveice(param :any) { Serveice(param: any) {
let value: any; let value: any;
this.service.request(`${this.service.$api_get_getDictValue}`, this.service
{ .request(`${this.service.$api_get_getDictValue}`, {
dictKey: param dictKey: param
}).subscribe((res) => { })
if(param === 'car:color') { .subscribe(res => {
if (param === 'car:color') {
this.contenCarNoColor = res; this.contenCarNoColor = res;
} else if(param === 'car:model') { } else if (param === 'car:model') {
this.contencarModel = res; this.contencarModel = res;
} else if(param === 'car:length') { } else if (param === 'car:length') {
this.contenCarLength = res; this.contenCarLength = res;
} }
}) });
return value; return value;
} }
viewEvaluate(item: any) { viewEvaluate(item: any) {
this.modal.createStatic(VehicleImgViewComponent, { i: item } ).subscribe((i) => { this.modal.createStatic(VehicleImgViewComponent, { i: item }).subscribe(i => {
this.st.reload(); this.st.reload();
this.getDetailList() this.getDetailList();
}); });
} }
updateEvaluate(item: any) { updateEvaluate(item: any) {
this.modal.createStatic(VehicleComponentsListEditComponent, { i: item }).subscribe((i) => { this.modal.createStatic(VehicleComponentsListEditComponent, { i: item }).subscribe(i => {
this.st.reload(); this.st.reload();
this.getDetailList() this.getDetailList();
}); });
} }
} }

View File

@ -11,11 +11,12 @@ import { apiConf } from '@conf/api.conf';
import { NzModalService } from 'ng-zorro-antd/modal'; import { NzModalService } from 'ng-zorro-antd/modal';
import { ImageViewComponent } from 'src/app/shared/components/imagelist'; import { ImageViewComponent } from 'src/app/shared/components/imagelist';
import { EADateUtil } from '@shared'; import { EADateUtil } from '@shared';
import { NzImageService } from 'ng-zorro-antd/image';
@Component({ @Component({
selector: 'app-supplier-components-list-view', selector: 'app-supplier-components-list-view',
templateUrl: './detail.component.html', templateUrl: './detail.component.html',
styleUrls: ['./detail.component.less'], styleUrls: ['./detail.component.less']
}) })
export class VehicleComponentsListDetailComponent implements OnInit { export class VehicleComponentsListDetailComponent implements OnInit {
i: any; i: any;
@ -36,7 +37,7 @@ export class VehicleComponentsListDetailComponent implements OnInit {
suppliersData: any = {}; suppliersData: any = {};
disabledUpload = false; disabledUpload = false;
detailData: any = this.initData(); detailData: any = this.initData();
tempalateData :any; tempalateData: any;
contenCarNoColor: any; contenCarNoColor: any;
contencarModel: any; contencarModel: any;
contenCarLength: any; contenCarLength: any;
@ -49,6 +50,7 @@ export class VehicleComponentsListDetailComponent implements OnInit {
private modalHelper: ModalHelper, private modalHelper: ModalHelper,
private msgSrv: NzMessageService, private msgSrv: NzMessageService,
private nzModalService: NzModalService, private nzModalService: NzModalService,
private nzImageService: NzImageService
) {} ) {}
ngOnInit() { ngOnInit() {
@ -57,7 +59,6 @@ export class VehicleComponentsListDetailComponent implements OnInit {
this.initSF(); this.initSF();
this.initSF1(); this.initSF1();
this.initST(); this.initST();
} }
/** /**
* 查询参数 * 查询参数
@ -77,17 +78,17 @@ export class VehicleComponentsListDetailComponent implements OnInit {
type: 'string', type: 'string',
ui: { ui: {
widget: 'date', widget: 'date',
format: 'yyyy-MM-dd 00:00:00', format: 'yyyy-MM-dd 00:00:00'
// hidden: this.modalName === 'effectiveDate' ? false : true, // hidden: this.modalName === 'effectiveDate' ? false : true,
} as SFDateWidgetSchema, } as SFDateWidgetSchema
}
}, },
}, required: ['effectiveDate']
required: ['effectiveDate'],
}; };
this.ui = { '*': { spanLabelFixed: 120, grid: { span: 24 } } }; this.ui = { '*': { spanLabelFixed: 120, grid: { span: 24 } } };
} }
initST() { initST() {
this.columns =[ this.columns = [
{ title: '司机姓名', index: 'name', width: 300, className: 'text-center' }, { title: '司机姓名', index: 'name', width: 300, className: 'text-center' },
{ title: '司机手机号', index: 'mobile', width: 300, className: 'text-center' }, { title: '司机手机号', index: 'mobile', width: 300, className: 'text-center' },
{ title: '挂靠协议', render: 'auditStatusEnum', className: 'text-center' }, { title: '挂靠协议', render: 'auditStatusEnum', className: 'text-center' },
@ -100,18 +101,18 @@ export class VehicleComponentsListDetailComponent implements OnInit {
buttons: [ buttons: [
{ {
text: '查看协议', text: '查看协议',
click: (_record) => this.viewEvaluate(_record), click: _record => this.viewEvaluate(_record),
iif: item => item.auditStatusEnum == 10 || item.auditStatusEnum == 20, iif: item => item.auditStatusEnum == 10 || item.auditStatusEnum == 20
}, },
{ {
text: '上传协议', text: '上传协议',
click: (_record) => this.updateEvaluate(_record), click: _record => this.updateEvaluate(_record),
iif: item => item.auditStatusEnum == -1, iif: item => item.auditStatusEnum == -1
}, }
],
},
] ]
} }
];
}
initSF1() { initSF1() {
this.schema1 = { this.schema1 = {
properties: { properties: {
@ -121,7 +122,7 @@ export class VehicleComponentsListDetailComponent implements OnInit {
title: '类型', title: '类型',
enum: [ enum: [
{ label: '非外部供应商', value: 0 }, { label: '非外部供应商', value: 0 },
{ label: '外部供应商', value: 1 }, { label: '外部供应商', value: 1 }
], ],
default: '', default: '',
ui: { ui: {
@ -136,69 +137,67 @@ export class VehicleComponentsListDetailComponent implements OnInit {
this.suppliersData.externalSuppliersId = ''; this.suppliersData.externalSuppliersId = '';
} }
this.initSF1(); this.initSF1();
}, }
}, }
}, },
externalSuppliersId: { externalSuppliersId: {
title: '外部供应商id', title: '外部供应商id',
type: 'string', type: 'string',
default: '', default: '',
ui: { ui: {
visibleIf: { suppliersType: (value: any) => value === 1 }, visibleIf: { suppliersType: (value: any) => value === 1 }
}
}
}, },
}, required: this.validData
},
required: this.validData,
}; };
} }
// 获取录单员 // 获取录单员
getSelectList() { getSelectList() {
this.Serveice("car:color") this.Serveice('car:color');
this.Serveice("car:model") this.Serveice('car:model');
this.Serveice("car:length") this.Serveice('car:length');
} }
Serveice(param :any) { Serveice(param: any) {
let value: any; let value: any;
this.service.request(`${this.service.$api_get_getDictValue}`, this.service
{ .request(`${this.service.$api_get_getDictValue}`, {
dictKey: param dictKey: param
}).subscribe((res) => { })
if(param === 'car:color') { .subscribe(res => {
if (param === 'car:color') {
this.contenCarNoColor = res; this.contenCarNoColor = res;
} else if(param === 'car:model') { } else if (param === 'car:model') {
this.contencarModel = res; this.contencarModel = res;
} else if(param === 'car:length') { } else if (param === 'car:length') {
this.contenCarLength = res; this.contenCarLength = res;
} }
}) });
return value; return value;
} }
// //
getDetailList() { getDetailList() {
console.log( this.route.snapshot?.params?.id) console.log(this.route.snapshot?.params?.id);
const params = { const params = {
id: this.route.snapshot?.params?.id id: this.route.snapshot?.params?.id
}; };
this.service.request(`${this.service.$api_get_operate_get}`, params).subscribe((res) => { this.service.request(`${this.service.$api_get_operate_get}`, params).subscribe(res => {
this.detailData = res; this.detailData = res;
this.tempalateData = res; this.tempalateData = res;
}) });
} }
goBack() { goBack() {
window.history.go(-1); window.history.go(-1);
} }
handleCancel(name: any) {}
handleCancel(name: any) {
}
/** /**
*查看评价 *查看评价
*/ */
viewEvaluate(item: any) { viewEvaluate(item: any) {
this.modal.createStatic(VehicleImgViewComponent, { i: item } ).subscribe(() => { this.modal.createStatic(VehicleImgViewComponent, { i: item }).subscribe(() => {
this.st.reload(); this.st.reload();
this.getDetailList(); this.getDetailList();
}); });
@ -212,9 +211,7 @@ export class VehicleComponentsListDetailComponent implements OnInit {
this.getDetailList(); this.getDetailList();
}); });
} }
handleOK() { handleOK() {}
}
ratify() { ratify() {
this.isEdit = true; this.isEdit = true;
} }
@ -225,7 +222,7 @@ export class VehicleComponentsListDetailComponent implements OnInit {
} }
} }
deleteImg(key: string) { deleteImg(key: string) {
console.log(key) console.log(key);
this.nzModalService.warning({ this.nzModalService.warning({
nzTitle: '是否确认删除该图片', nzTitle: '是否确认删除该图片',
nzOnOk: () => { nzOnOk: () => {
@ -242,7 +239,8 @@ export class VehicleComponentsListDetailComponent implements OnInit {
imgList: [url], imgList: [url],
index: 0 index: 0
}; };
this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } }); this.nzImageService.preview([{ src: url }]);
// this.nzModalService.create({ nzContent: ImageViewComponent, nzComponentParams: { params } });
} }
reset() { reset() {
@ -252,24 +250,24 @@ export class VehicleComponentsListDetailComponent implements OnInit {
save() { save() {
this.isEdit = false; this.isEdit = false;
console.log(this.detailData) console.log(this.detailData);
this.detailData.driverLicenseRegisterTime = EADateUtil.yearToDate(this.detailData?.driverLicenseRegisterTime) this.detailData.driverLicenseRegisterTime = EADateUtil.yearToDate(this.detailData?.driverLicenseRegisterTime);
this.detailData.driverLicenseEndTime = EADateUtil.yearToDate(this.detailData?.driverLicenseEndTime) this.detailData.driverLicenseEndTime = EADateUtil.yearToDate(this.detailData?.driverLicenseEndTime);
this.detailData.driverLicenseGetTime = EADateUtil.yearToDate(this.detailData?.driverLicenseGetTime) this.detailData.driverLicenseGetTime = EADateUtil.yearToDate(this.detailData?.driverLicenseGetTime);
this.detailData.roadTransportStartTime = EADateUtil.yearToDate(this.detailData?.roadTransportStartTime) this.detailData.roadTransportStartTime = EADateUtil.yearToDate(this.detailData?.roadTransportStartTime);
this.detailData.roadTransportEndTime = EADateUtil.yearToDate(this.detailData?.roadTransportEndTime) this.detailData.roadTransportEndTime = EADateUtil.yearToDate(this.detailData?.roadTransportEndTime);
console.log(this.detailData) console.log(this.detailData);
this.service.request(this.service.$api_get_update, this.detailData).subscribe((res)=>{ this.service.request(this.service.$api_get_update, this.detailData).subscribe(res => {
console.log(res) console.log(res);
if(res) { if (res) {
this.getDetailList() this.getDetailList();
this.service.msgSrv.success('修改成功!') this.service.msgSrv.success('修改成功!');
} }
}) });
} }
private initData() { private initData() {

View File

@ -63,6 +63,12 @@
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [loading]="service.http.loading"
> >
<ng-template st-row="createUserName" let-item let-index="index">
<div> {{ item?.createUserName }}/{{ item?.createUserPhone }} </div>
</ng-template>
<ng-template st-row="createUserName" let-item let-index="index">
<div> {{ item?.createUserName }}/{{ item?.createUserPhone }} </div>
</ng-template>
<ng-template st-row="driverName" let-item let-index="index"> <ng-template st-row="driverName" let-item let-index="index">
<div> {{ item?.driverName }}/{{ item?.driverTelephone }}/{{ item?.driverLicenseCarNo }} </div> <div> {{ item?.driverName }}/{{ item?.driverTelephone }}/{{ item?.driverLicenseCarNo }} </div>
</ng-template> </ng-template>

View File

@ -247,6 +247,7 @@ tabs = {
className: 'text-right', className: 'text-right',
render: 'billExpenseDetailVOList' render: 'billExpenseDetailVOList'
}, },
{ title: '录单员', render: 'createUserName', width: '200px', className: 'text-left' },
{ title: '网络货运人', index: 'enterpriseInfoName', width: '220px', className: 'text-left' }, { title: '网络货运人', index: 'enterpriseInfoName', width: '220px', className: 'text-left' },
{ title: '货主', index: 'shipperAppUserName', width: '180px', className: 'text-left' }, { title: '货主', index: 'shipperAppUserName', width: '180px', className: 'text-left' },
{ title: '关联订单号', index: 'billCode', width: '180px', className: 'text-left' }, { title: '关联订单号', index: 'billCode', width: '180px', className: 'text-left' },

View File

@ -1,7 +1,7 @@
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2021-12-03 11:10:14 * @Date: 2021-12-03 11:10:14
* @LastEditTime : 2022-02-23 15:39:15 * @LastEditTime : 2022-03-02 14:59:17
* @LastEditors : Shiming * @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\vehicle\\vehicle.component.html * @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\components\\vehicle\\vehicle.component.html
@ -64,6 +64,12 @@
[page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }" [page]="{ show: true, showSize: true, pageSizes: [10, 20, 30, 50, 100, 200, 300, 500, 1000] }"
[loading]="service.http.loading" [loading]="service.http.loading"
> >
<ng-template st-row="createUserName" let-item let-index="index">
<div> {{ item?.createUserName }}/{{ item?.createUserPhone }} </div>
</ng-template>
<ng-template st-row="createUserName" let-item let-index="index">
<div> {{ item?.createUserName }}/{{ item?.createUserPhone }} </div>
</ng-template>
<ng-template st-row="driverName" let-item let-index="index"> <ng-template st-row="driverName" let-item let-index="index">
<div> {{ item?.driverName }}/{{ item?.driverTelephone }}/{{ item?.driverLicenseCarNo }} </div> <div> {{ item?.driverName }}/{{ item?.driverTelephone }}/{{ item?.driverLicenseCarNo }} </div>
</ng-template> </ng-template>

View File

@ -291,6 +291,7 @@ export class WaybillManagementVehicleComponent implements OnInit {
className: 'text-right', className: 'text-right',
render: 'billExpenseDetailVOList' render: 'billExpenseDetailVOList'
}, },
{ title: '录单员', render: 'createUserName', width: '200px', className: 'text-left' },
{ title: '网络货运人', index: 'enterpriseInfoName', width: '220px', className: 'text-left' }, { title: '网络货运人', index: 'enterpriseInfoName', width: '220px', className: 'text-left' },
{ title: '货主', index: 'shipperAppUserName', width: '200px', className: 'text-left' }, { title: '货主', index: 'shipperAppUserName', width: '200px', className: 'text-left' },
{ title: '关联订单号', index: 'billCode', width: '180px', className: 'text-left' }, { title: '关联订单号', index: 'billCode', width: '180px', className: 'text-left' },

View File

@ -2,7 +2,7 @@ import { WaybillManagementBulkComponent } from './../components/bulk/bulk.compon
/* /*
* @Author: your name * @Author: your name
* @Date: 2021-12-07 14:52:29 * @Date: 2021-12-07 14:52:29
* @LastEditTime : 2022-02-17 19:38:59 * @LastEditTime : 2022-03-02 14:30:55
* @LastEditors : Shiming * @LastEditors : Shiming
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\services\\waybill-management.service.ts * @FilePath : \\tms-obc-web\\src\\app\\routes\\waybill-management\\services\\waybill-management.service.ts
@ -20,12 +20,12 @@ export class WaybillManagementServe extends BaseService {
// 据 手机号/姓名 查询 车队长/司机 // 据 手机号/姓名 查询 车队长/司机
$api_get_getDriverInfo = `/api/mdc/cuc/user/getDriverInfo`; $api_get_getDriverInfo = `/api/mdc/cuc/user/getDriverInfo`;
// 查询整车运单-运营后台 // 查询整车运单-运营后台
$api_get_wholePage = `/api/sdc/wayBillOperate/list/listWholePage`; $api_get_wholePage = `/api/sdc/wayBillOperate/listWholePage`;
// 查询整车运单详情-运营后台 // 查询整车运单详情-运营后台
$api_get_getWholeDetail = `/api/sdc/wayBillOperate/getWholeDetail`; $api_get_getWholeDetail = `/api/sdc/wayBillOperate/getWholeDetail`;
// 查询大宗运单-运营后台 // 查询大宗运单-运营后台
$api_get_Bulkpage = `/api/sdc/wayBillOperate/list/listBulkPage`; $api_get_Bulkpage = `/api/sdc/wayBillOperate/listBulkPage`;
// 查询大宗运单详情-运营后台 // 查询大宗运单详情-运营后台
$api_get_getBulkDetail = `/api/sdc/wayBillOperate/getBulkDetail`; $api_get_getBulkDetail = `/api/sdc/wayBillOperate/getBulkDetail`;

View File

@ -2,12 +2,13 @@ import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { ImageListComponent } from './imagelist.component'; import { ImageListComponent } from './imagelist.component';
import { ImageViewComponent } from './imageview/imageview.component'; import { ImageViewComponent } from './imageview/imageview.component';
import { NzImageModule } from 'ng-zorro-antd/image';
const COMPONENTS = [ImageListComponent, ImageViewComponent]; const COMPONENTS = [ImageListComponent, ImageViewComponent];
@NgModule({ @NgModule({
declarations: COMPONENTS, declarations: COMPONENTS,
imports: [CommonModule], imports: [CommonModule, NzImageModule],
exports: COMPONENTS, exports: COMPONENTS
}) })
export class ImageListModule {} export class ImageListModule {}

View File

@ -1,3 +1,3 @@
<div class="imgBox"> <div class="imgBox">
<img *ngFor="let item of imgList; let i = index" [src]="item" (click)="showImg(i)" /> <img *ngFor="let item of imgList; let i = index" nz-image [nzSrc]="item" />
</div> </div>

View File

@ -8,25 +8,32 @@
*/ */
import { Component, Input, OnInit } from '@angular/core'; import { Component, Input, OnInit } from '@angular/core';
import { ModalHelper, _HttpClient } from '@delon/theme'; import { ModalHelper, _HttpClient } from '@delon/theme';
import { NzImageService } from 'ng-zorro-antd/image';
import { NzMessageService } from 'ng-zorro-antd/message'; import { NzMessageService } from 'ng-zorro-antd/message';
import { ImageViewComponent } from './imageview/imageview.component'; import { ImageViewComponent } from './imageview/imageview.component';
@Component({ @Component({
selector: 'app-imagelist', selector: 'app-imagelist',
templateUrl: './imagelist.component.html', templateUrl: './imagelist.component.html',
styleUrls: ['./imagelist.less'], styleUrls: ['./imagelist.less']
}) })
export class ImageListComponent implements OnInit { export class ImageListComponent implements OnInit {
@Input() imgList: any = []; @Input() imgList: any = [];
constructor(private modal: ModalHelper, public msgSrv: NzMessageService, public http: _HttpClient) {} constructor(
private modal: ModalHelper,
public msgSrv: NzMessageService,
public http: _HttpClient,
private nzImageService: NzImageService
) {}
ngOnInit(): void { ngOnInit(): void {}
}
showImg(index: any) { showImg(index: any) {
const params = { const params = {
imgList: this.imgList, imgList: this.imgList,
index, index
}; };
this.modal.create(ImageViewComponent, { params }).subscribe((res) => {}); const images = this.imgList.map((url: string) => ({ src: url }));
this.nzImageService.preview(images);
// this.modal.create(ImageViewComponent, { params }).subscribe(res => {});
} }
} }

View File

@ -46,6 +46,7 @@ import { NzAnchorModule } from 'ng-zorro-antd/anchor';
import { NzAffixModule } from 'ng-zorro-antd/affix'; import { NzAffixModule } from 'ng-zorro-antd/affix';
import { NzTypographyModule } from 'ng-zorro-antd/typography'; import { NzTypographyModule } from 'ng-zorro-antd/typography';
import { NzSwitchModule } from 'ng-zorro-antd/switch'; import { NzSwitchModule } from 'ng-zorro-antd/switch';
import { NzImageModule } from 'ng-zorro-antd/image';
export const SHARED_ZORRO_MODULES = [ export const SHARED_ZORRO_MODULES = [
NzButtonModule, NzButtonModule,
NzGridModule, NzGridModule,
@ -85,5 +86,6 @@ export const SHARED_ZORRO_MODULES = [
NzAnchorModule, NzAnchorModule,
NzAffixModule, NzAffixModule,
NzTypographyModule, NzTypographyModule,
NzSwitchModule NzSwitchModule,
NzImageModule
]; ];