diff --git a/package.json b/package.json index 2740f7e3..302ef98a 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "ng-high-memory": "node --max_old_space_size=8000 ./node_modules/@angular/cli/bin/ng", "ng": "ng", "start": "ng s -o --port 4202 --host 0.0.0.0", + "startIp": "ng serve -o --port 4202 --host 172.29.9.71 --open", "hmr": "ng s -o --hmr", "build": "npm run ng-high-memory build --", "build:dev": "npm run build -- -c dev", diff --git a/src/app/routes/commom/less/box.less b/src/app/routes/commom/less/box.less index 59f98100..b4da38e9 100644 --- a/src/app/routes/commom/less/box.less +++ b/src/app/routes/commom/less/box.less @@ -35,7 +35,7 @@ .total-footer { position : absolute; - bottom : 30px; + bottom : 25px; height : 32px; margin : 16px 0; line-height: 32px; diff --git a/src/app/routes/contract-management/components/contract-template-frame/contract-template-frame.component.ts b/src/app/routes/contract-management/components/contract-template-frame/contract-template-frame.component.ts index 002c28e1..eb45f57a 100644 --- a/src/app/routes/contract-management/components/contract-template-frame/contract-template-frame.component.ts +++ b/src/app/routes/contract-management/components/contract-template-frame/contract-template-frame.component.ts @@ -154,7 +154,7 @@ export class ContractManagementTemplateFrameComponent implements OnInit { { title: '操作', fixed: 'right', - className: 'text-left', + className: 'text-center', buttons: [ { text: '编辑', diff --git a/src/app/routes/contract-management/components/contract-template-partner/contract-template-partner.component.ts b/src/app/routes/contract-management/components/contract-template-partner/contract-template-partner.component.ts index 257a5832..ca4d349d 100644 --- a/src/app/routes/contract-management/components/contract-template-partner/contract-template-partner.component.ts +++ b/src/app/routes/contract-management/components/contract-template-partner/contract-template-partner.component.ts @@ -154,7 +154,7 @@ export class ContractManagementTemplatePartnerComponent implements OnInit { { title: '操作', fixed: 'right', - className: 'text-left', + className: 'text-center', buttons: [ { text: '编辑', diff --git a/src/app/routes/contract-management/components/contract-template/contract-template.component.ts b/src/app/routes/contract-management/components/contract-template/contract-template.component.ts index e9649bd1..1da3c546 100644 --- a/src/app/routes/contract-management/components/contract-template/contract-template.component.ts +++ b/src/app/routes/contract-management/components/contract-template/contract-template.component.ts @@ -154,7 +154,7 @@ export class ContractManagementTemplateDetailComponent implements OnInit { { title: '操作', fixed: 'right', - className: 'text-left', + className: 'text-center', buttons: [ { text: '编辑', diff --git a/src/app/routes/financial-management/components/receivable-order/receivable-order.component.ts b/src/app/routes/financial-management/components/receivable-order/receivable-order.component.ts index b68eb1f9..26e11de5 100644 --- a/src/app/routes/financial-management/components/receivable-order/receivable-order.component.ts +++ b/src/app/routes/financial-management/components/receivable-order/receivable-order.component.ts @@ -275,6 +275,7 @@ export class ReceivableOrderComponent implements OnInit { title: '操作', fixed: 'right', width: 120, + className: 'text-center', buttons: [ { text: '浏览', diff --git a/src/app/routes/financial-management/components/voucher-management/voucher-management.component.ts b/src/app/routes/financial-management/components/voucher-management/voucher-management.component.ts index f6a790ad..c38bc2ae 100644 --- a/src/app/routes/financial-management/components/voucher-management/voucher-management.component.ts +++ b/src/app/routes/financial-management/components/voucher-management/voucher-management.component.ts @@ -323,6 +323,7 @@ export class VoucherManagementComponent implements OnInit { title: '操作', width: '130px', fixed: 'right', + className: 'text-center', buttons: [ { text: '浏览', diff --git a/src/app/routes/financial-management/components/voucher-summary/voucher-list/voucher-list.component.ts b/src/app/routes/financial-management/components/voucher-summary/voucher-list/voucher-list.component.ts index eff9fc1d..a8422946 100644 --- a/src/app/routes/financial-management/components/voucher-summary/voucher-list/voucher-list.component.ts +++ b/src/app/routes/financial-management/components/voucher-summary/voucher-list/voucher-list.component.ts @@ -213,6 +213,7 @@ export class VoucherListComponent implements OnInit { title: '操作', width: '130px', fixed: 'right', + className: 'text-center', buttons: [ { text: '浏览', diff --git a/src/app/routes/financial-management/components/withdrawals-record/withdrawals-record.component.ts b/src/app/routes/financial-management/components/withdrawals-record/withdrawals-record.component.ts index f4ed8074..f98fed03 100644 --- a/src/app/routes/financial-management/components/withdrawals-record/withdrawals-record.component.ts +++ b/src/app/routes/financial-management/components/withdrawals-record/withdrawals-record.component.ts @@ -270,6 +270,7 @@ export class WithdrawalsRecordComponent implements OnInit { title: '操作', fixed: 'right', width: '110px', + className: 'text-center', buttons: [ { text: '查看回单', diff --git a/src/app/routes/insurance-management/components/list/list.component.ts b/src/app/routes/insurance-management/components/list/list.component.ts index 4cecaf0d..bff00485 100644 --- a/src/app/routes/insurance-management/components/list/list.component.ts +++ b/src/app/routes/insurance-management/components/list/list.component.ts @@ -476,7 +476,7 @@ export class insuranceManagementListComponent implements OnInit { title: '操作', fixed: 'right', width: '110px', - className: 'text-left', + className: 'text-center', buttons: [ { text: '查看保单', diff --git a/src/app/routes/order-management/components/bulk/bulk.component.ts b/src/app/routes/order-management/components/bulk/bulk.component.ts index 5e54ff7d..001bf028 100644 --- a/src/app/routes/order-management/components/bulk/bulk.component.ts +++ b/src/app/routes/order-management/components/bulk/bulk.component.ts @@ -496,7 +496,7 @@ export class OrderManagementBulkComponent implements OnInit { title: '操作', fixed: 'right', width: '130px', - className: 'text-left', + className: 'text-center', buttons: [ { text: '运费变更记录', @@ -573,7 +573,7 @@ export class OrderManagementBulkComponent implements OnInit { { title: '操作', fixed: 'right', - className: 'text-left', + className: 'text-center', buttons: [ { text: '查看', diff --git a/src/app/routes/order-management/components/complaint/complaint.component.ts b/src/app/routes/order-management/components/complaint/complaint.component.ts index 7f743dd1..c4e50bdc 100644 --- a/src/app/routes/order-management/components/complaint/complaint.component.ts +++ b/src/app/routes/order-management/components/complaint/complaint.component.ts @@ -177,7 +177,7 @@ export class OrderManagementComplaintComponent implements OnInit { title: '操作', fixed: 'right', width: '100px', - className: 'text-left', + className: 'text-center', buttons: [ // { // text: '处理', diff --git a/src/app/routes/order-management/components/compliance-audit/compliance-audit.component.ts b/src/app/routes/order-management/components/compliance-audit/compliance-audit.component.ts index b896fed5..98763549 100644 --- a/src/app/routes/order-management/components/compliance-audit/compliance-audit.component.ts +++ b/src/app/routes/order-management/components/compliance-audit/compliance-audit.component.ts @@ -389,7 +389,7 @@ export class OrderManagementComplianceAuditComponent implements OnInit { title: '操作', fixed: 'right', width: '140px', - className: 'text-left', + className: 'text-center', buttons: [ { text: '查看申诉记录', @@ -433,7 +433,7 @@ export class OrderManagementComplianceAuditComponent implements OnInit { { title: '操作', fixed: 'right', - className: 'text-left', + className: 'text-center', buttons: [ { text: '查看', diff --git a/src/app/routes/order-management/components/receipts-audit/receipts-audit.component.ts b/src/app/routes/order-management/components/receipts-audit/receipts-audit.component.ts index d8c37fba..73e94554 100644 --- a/src/app/routes/order-management/components/receipts-audit/receipts-audit.component.ts +++ b/src/app/routes/order-management/components/receipts-audit/receipts-audit.component.ts @@ -331,7 +331,7 @@ export class OrderManagementReceiptsAuditComponent implements OnInit { title: '操作', fixed: 'right', width: '136px', - className: 'text-left', + className: 'text-center', buttons: [ { text: '生成电子单据', diff --git a/src/app/routes/order-management/components/risk/risk.component.ts b/src/app/routes/order-management/components/risk/risk.component.ts index 5900d943..491ef3dc 100644 --- a/src/app/routes/order-management/components/risk/risk.component.ts +++ b/src/app/routes/order-management/components/risk/risk.component.ts @@ -302,7 +302,7 @@ export class OrderManagementRiskComponent implements OnInit { title: '操作', fixed: 'right', width: '90px', - className: 'text-left', + className: 'text-center', buttons: [ { text: '审核', diff --git a/src/app/routes/order-management/components/vehicle/vehicle.component.ts b/src/app/routes/order-management/components/vehicle/vehicle.component.ts index 7e4d5bbf..39621535 100644 --- a/src/app/routes/order-management/components/vehicle/vehicle.component.ts +++ b/src/app/routes/order-management/components/vehicle/vehicle.component.ts @@ -435,7 +435,7 @@ resourceStatus: any; title: '操作', fixed: 'right', width: '130px', - className: 'text-left', + className: 'text-center', buttons: [ { @@ -519,7 +519,7 @@ resourceStatus: any; { title: '操作', fixed: 'right', - className: 'text-left', + className: 'text-center', buttons: [ { text: '查看', diff --git a/src/app/routes/supply-management/components/bulk/bulk.component.ts b/src/app/routes/supply-management/components/bulk/bulk.component.ts index 26989678..50b03764 100644 --- a/src/app/routes/supply-management/components/bulk/bulk.component.ts +++ b/src/app/routes/supply-management/components/bulk/bulk.component.ts @@ -325,7 +325,7 @@ export class SupplyManagementBulkComponent implements OnInit { title: '操作', fixed: 'right', width: '110px', - className: 'text-left', + className: 'text-center', buttons: [ { text: '货源审核', diff --git a/src/app/routes/sys-setting/components/announcement-message/announcement-message.component.ts b/src/app/routes/sys-setting/components/announcement-message/announcement-message.component.ts index 44c2844c..74ea33fd 100644 --- a/src/app/routes/sys-setting/components/announcement-message/announcement-message.component.ts +++ b/src/app/routes/sys-setting/components/announcement-message/announcement-message.component.ts @@ -35,6 +35,7 @@ export class AnnouncementMessageComponent implements OnInit { { title: '公告内容', index: 'announcementContent' }, { title: '操作', + className: 'text-center', buttons: [ { text: '编辑', diff --git a/src/app/routes/sys-setting/components/audit-reason-config/audit-reason-config.component.ts b/src/app/routes/sys-setting/components/audit-reason-config/audit-reason-config.component.ts index 12b92bed..ced52980 100644 --- a/src/app/routes/sys-setting/components/audit-reason-config/audit-reason-config.component.ts +++ b/src/app/routes/sys-setting/components/audit-reason-config/audit-reason-config.component.ts @@ -77,6 +77,7 @@ export class AuditReasonConfigComponent implements OnInit { }, { title: '操作', + className: 'text-center', buttons: [ { text: '编辑', diff --git a/src/app/routes/sys-setting/components/basic-config/basic-config.component.ts b/src/app/routes/sys-setting/components/basic-config/basic-config.component.ts index 8b540f2e..2d1838b5 100644 --- a/src/app/routes/sys-setting/components/basic-config/basic-config.component.ts +++ b/src/app/routes/sys-setting/components/basic-config/basic-config.component.ts @@ -67,6 +67,7 @@ export class BasicConfigComponent implements OnInit { }, { title: '操作', + className: 'text-center', buttons: [ { text: '编辑', diff --git a/src/app/routes/sys-setting/components/btn-management/btn-management.component.ts b/src/app/routes/sys-setting/components/btn-management/btn-management.component.ts index d1aa3bed..e2350c92 100644 --- a/src/app/routes/sys-setting/components/btn-management/btn-management.component.ts +++ b/src/app/routes/sys-setting/components/btn-management/btn-management.component.ts @@ -35,6 +35,7 @@ export class BtnManagementComponent implements OnInit { { title: '按钮编码', index: 'code' }, { title: '操作', + className: 'text-center', buttons: [ { text: '编辑', diff --git a/src/app/routes/sys-setting/components/cart-config/cart-config.component.ts b/src/app/routes/sys-setting/components/cart-config/cart-config.component.ts index c603e456..b7039fb0 100644 --- a/src/app/routes/sys-setting/components/cart-config/cart-config.component.ts +++ b/src/app/routes/sys-setting/components/cart-config/cart-config.component.ts @@ -98,6 +98,7 @@ export class CartConfigComponent implements OnInit { }, { title: '操作', + className: 'text-center', buttons: [ { text: '编辑', diff --git a/src/app/routes/sys-setting/components/close-account/close-account.component.ts b/src/app/routes/sys-setting/components/close-account/close-account.component.ts index 427b1bf5..0826ae0c 100644 --- a/src/app/routes/sys-setting/components/close-account/close-account.component.ts +++ b/src/app/routes/sys-setting/components/close-account/close-account.component.ts @@ -36,6 +36,7 @@ export class CloseAccountComponent implements OnInit { { title: '客户编码', index: 'crmCustomerCode' }, { title: '操作', + className: 'text-center', buttons: [ { text: '编辑', diff --git a/src/app/routes/sys-setting/components/crm-management/crm-management.component.ts b/src/app/routes/sys-setting/components/crm-management/crm-management.component.ts index d3d92392..7202b549 100644 --- a/src/app/routes/sys-setting/components/crm-management/crm-management.component.ts +++ b/src/app/routes/sys-setting/components/crm-management/crm-management.component.ts @@ -31,6 +31,7 @@ export class CrmManagementComponent implements OnInit { { title: '客户编码', index: 'customerCode' }, { title: '操作', + className: 'text-left', buttons: [ { text: '编辑', diff --git a/src/app/routes/sys-setting/components/goods-name-config/goods-name-config.component.ts b/src/app/routes/sys-setting/components/goods-name-config/goods-name-config.component.ts index c3641bd2..4806f3d7 100644 --- a/src/app/routes/sys-setting/components/goods-name-config/goods-name-config.component.ts +++ b/src/app/routes/sys-setting/components/goods-name-config/goods-name-config.component.ts @@ -24,6 +24,7 @@ export class GoodsNameConfigComponent implements OnInit { { title: '更新时间', index: 'modifyTime' }, { title: '操作', + className: 'text-center', buttons: [ { text: '编辑', diff --git a/src/app/routes/sys-setting/components/insurance-set/insurance-set.component.ts b/src/app/routes/sys-setting/components/insurance-set/insurance-set.component.ts index 1ea7e778..56d71921 100644 --- a/src/app/routes/sys-setting/components/insurance-set/insurance-set.component.ts +++ b/src/app/routes/sys-setting/components/insurance-set/insurance-set.component.ts @@ -35,6 +35,7 @@ export class InsuranceSetComponent implements OnInit { { title: '公告内容', index: 'announcementContent' }, { title: '操作', + className: 'text-center', buttons: [ { text: '编辑', diff --git a/src/app/routes/sys-setting/components/network-freight/network-freight.component.ts b/src/app/routes/sys-setting/components/network-freight/network-freight.component.ts index ec676d98..aa5c5614 100644 --- a/src/app/routes/sys-setting/components/network-freight/network-freight.component.ts +++ b/src/app/routes/sys-setting/components/network-freight/network-freight.component.ts @@ -107,7 +107,7 @@ export class NetworkFreightComponent implements OnInit { title: '操作', width: '110px', fixed: 'right', - className: 'text-left', + className: 'text-center', buttons: [ { text: '基础设置', diff --git a/src/app/routes/sys-setting/components/role-management/role-management.component.ts b/src/app/routes/sys-setting/components/role-management/role-management.component.ts index f51eddad..4c554c98 100644 --- a/src/app/routes/sys-setting/components/role-management/role-management.component.ts +++ b/src/app/routes/sys-setting/components/role-management/role-management.component.ts @@ -28,19 +28,19 @@ export class RoleManagementComponent implements OnInit { }; columns: STColumn[] = [ - { title: '角色名称', index: 'roleName' }, - { title: '角色描述', index: 'roleDescription' }, - { title: '企业数量', index: 'userNumber', iif: _ => this.type === 'freight' }, - { title: '创建人手机号', index: 'telephone' }, + { title: '角色名称', className: 'text-center', index: 'roleName' }, + { title: '角色描述', className: 'text-center', index: 'roleDescription' }, + { title: '企业数量', className: 'text-center', index: 'userNumber', iif: _ => this.type === 'freight' }, + { title: '创建人手机号', className: 'text-center', index: 'telephone' }, { title: '创建时间', index: 'createTime', type: 'date', - className: 'text-left', - sort: true + className: 'text-center' }, { title: '操作', + className: 'text-center', buttons: [ { text: '编辑', diff --git a/src/app/routes/sys-setting/components/staff-management/staff-management.component.html b/src/app/routes/sys-setting/components/staff-management/staff-management.component.html index 5dbf2377..71e95133 100644 --- a/src/app/routes/sys-setting/components/staff-management/staff-management.component.html +++ b/src/app/routes/sys-setting/components/staff-management/staff-management.component.html @@ -16,7 +16,7 @@
- +
diff --git a/src/app/routes/sys-setting/components/staff-management/staff-management.component.ts b/src/app/routes/sys-setting/components/staff-management/staff-management.component.ts index b1c6f48e..a17ac728 100644 --- a/src/app/routes/sys-setting/components/staff-management/staff-management.component.ts +++ b/src/app/routes/sys-setting/components/staff-management/staff-management.component.ts @@ -28,13 +28,14 @@ export class StaffManagementComponent implements OnInit { }; columns: STColumn[] = [ - { title: '', index: 'key', type: 'checkbox' }, - { title: '员工姓名', index: 'name' }, - { title: '手机号码', index: 'telephone' }, - { title: '角色', index: 'roleName' }, + { title: '', index: 'key', className: 'text-center', type: 'checkbox' }, + { title: '员工姓名', className: 'text-center', index: 'name' }, + { title: '手机号码', className: 'text-center', index: 'telephone' }, + { title: '角色',className: 'text-center', index: 'roleName' }, { title: '最后登录时间', index: 'lastLoginDate', + className: 'text-center', type: 'date' }, { @@ -49,6 +50,7 @@ export class StaffManagementComponent implements OnInit { }, { title: '操作', + className: 'text-center', buttons: [ { text: '编辑', diff --git a/src/app/routes/ticket-management/components/cancellation-invoice/cancellation-invoice.component.ts b/src/app/routes/ticket-management/components/cancellation-invoice/cancellation-invoice.component.ts index d5ff6af0..fbfd218d 100644 --- a/src/app/routes/ticket-management/components/cancellation-invoice/cancellation-invoice.component.ts +++ b/src/app/routes/ticket-management/components/cancellation-invoice/cancellation-invoice.component.ts @@ -365,6 +365,7 @@ export class CancellationInvoiceComponent implements OnInit { title: '操作', width: '120px', fixed: 'right', + className: 'text-center', buttons: [ { type: 'divider' }, { diff --git a/src/app/routes/ticket-management/components/etc-blacklist/etc-blacklist.component.ts b/src/app/routes/ticket-management/components/etc-blacklist/etc-blacklist.component.ts index c38f3c27..ed60003b 100644 --- a/src/app/routes/ticket-management/components/etc-blacklist/etc-blacklist.component.ts +++ b/src/app/routes/ticket-management/components/etc-blacklist/etc-blacklist.component.ts @@ -284,6 +284,7 @@ export class ETCBlacklistComponent implements OnInit { }, { title: '操作', + className: 'text-center', buttons: [ { text: '删除', diff --git a/src/app/routes/ticket-management/components/etc-invoiced-list/etc-invoiced-list.component.ts b/src/app/routes/ticket-management/components/etc-invoiced-list/etc-invoiced-list.component.ts index 872de3e7..e7bf1e89 100644 --- a/src/app/routes/ticket-management/components/etc-invoiced-list/etc-invoiced-list.component.ts +++ b/src/app/routes/ticket-management/components/etc-invoiced-list/etc-invoiced-list.component.ts @@ -174,6 +174,7 @@ export class ETCInvoicedListComponent implements OnInit { { title: '申请时间', index: 'orderReceivingTime', type: 'date' }, { title: '操作', + className: 'text-center', buttons: [ { text: '交易明细', diff --git a/src/app/routes/ticket-management/components/express-info/express-info.component.html b/src/app/routes/ticket-management/components/express-info/express-info.component.html index bb175e73..401ce7ff 100644 --- a/src/app/routes/ticket-management/components/express-info/express-info.component.html +++ b/src/app/routes/ticket-management/components/express-info/express-info.component.html @@ -20,5 +20,5 @@
+ (change)="stChange($event)" [scroll]="{ x: '1200px' }" > \ No newline at end of file diff --git a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts index 75e880d8..663c4091 100644 --- a/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts +++ b/src/app/routes/ticket-management/components/invoice-requested/invoice-requested.component.ts @@ -407,6 +407,7 @@ export class InvoiceRequestedComponent implements OnInit { title: '操作', width: 125, fixed: 'right', + className: 'text-center', buttons: [ { type: 'divider' }, { diff --git a/src/app/routes/usercenter/components/freight/list/list.component.ts b/src/app/routes/usercenter/components/freight/list/list.component.ts index 2db6fa0b..f8d21036 100644 --- a/src/app/routes/usercenter/components/freight/list/list.component.ts +++ b/src/app/routes/usercenter/components/freight/list/list.component.ts @@ -378,6 +378,7 @@ export class FreightComponentsListComponent implements OnInit { title: '操作', width: '110px', fixed: 'right', + className: 'text-center', buttons: [ { type: 'divider' }, { diff --git a/src/app/routes/waybill-management/components/bulk/bulk.component.ts b/src/app/routes/waybill-management/components/bulk/bulk.component.ts index feacd841..cb32070e 100644 --- a/src/app/routes/waybill-management/components/bulk/bulk.component.ts +++ b/src/app/routes/waybill-management/components/bulk/bulk.component.ts @@ -312,7 +312,7 @@ tabs = { title: '操作', fixed: 'right', width: '110px', - className: 'text-left', + className: 'text-center', buttons: [ { text: '确认发车', diff --git a/src/app/routes/waybill-management/components/vehicle/vehicle.component.ts b/src/app/routes/waybill-management/components/vehicle/vehicle.component.ts index cd62d8b0..fee10f3e 100644 --- a/src/app/routes/waybill-management/components/vehicle/vehicle.component.ts +++ b/src/app/routes/waybill-management/components/vehicle/vehicle.component.ts @@ -336,7 +336,7 @@ export class WaybillManagementVehicleComponent implements OnInit { title: '操作', fixed: 'right', width: '110px', - className: 'text-left', + className: 'text-center', buttons: [ { text: '确认发车', diff --git a/src/styles/compact.less b/src/styles/compact.less index f1e7ee1b..96a7f86a 100644 --- a/src/styles/compact.less +++ b/src/styles/compact.less @@ -11,15 +11,56 @@ .alain-pro__page-header-content{ margin: 8px 8px 0px !important; } -.ant-card-body{ - padding: 6px !important; -} + .ant-card { margin-bottom: 8px !important; } .ant-table tfoot>tr>td, .ant-table tfoot>tr>th, .ant-table-tbody>tr>td, .ant-table-thead>tr>th{ - padding: 6px 4px !important; + padding: 6px 10px; } .alain-pro__page-header-wrapper{ margin: 0 !important } +.alain-pro__menu-icon{ + font-size: 14px !important; + margin: 3px 5px 0 0 ; +} +.sf__compact .ant-form-item { + margin-top: 4px !important; + margin-bottom: 4px !important; +} +.body-box{ + max-width: 760px !important; + .box-content{ + height: 77% !important; + } +} +.login-logo{ + width:250px !important; + height: 100% !important; +} +.ant-tabs-tab-btn{ + font-size: 18px !important; +} +.login-box-content{ + max-width: 300px !important; + padding: 58px 0 38px !important; + height: 100% !important; +} +.total-footer { + bottom: 10px !important; +} +.ant-layout-header{ + height: 44px; + padding: 0 25px; + line-height: 44px; + img{ + width: 22px + } + .title{ + font-size: 14px; + } +} +.ant-tabs-tab-btn{ + font-size: 14px !important; +} \ No newline at end of file