Compare commits

..

3 Commits

Author SHA1 Message Date
袁野 48b9c4fb94 1 9 months ago
袁野 83b28e62eb 1 9 months ago
袁野 82e00c8dff 1 1 year ago
  1. 11
      package-lock.json
  2. 2
      src/app/admin/activate/activate-edit/activate-edit.component.html
  3. 118
      src/app/admin/agent/agent-list/agent-list.component.html
  4. 161
      src/app/admin/agent/agent-list/agent-list.component.ts
  5. 13
      src/app/admin/api-merchants/list/list.component.html
  6. 3
      src/app/admin/api-merchants/list/list.component.ts
  7. 2
      src/app/admin/api-product/api-product-routing.module.ts
  8. 3
      src/app/admin/api-product/api-product.module.ts
  9. 38
      src/app/admin/api-product/jianniu-list/jianniu-list.component.html
  10. 0
      src/app/admin/api-product/jianniu-list/jianniu-list.component.scss
  11. 42
      src/app/admin/api-product/jianniu-list/jianniu-list.component.ts
  12. 3
      src/app/admin/api-product/list/list.component.html
  13. 4
      src/app/admin/audit/audit-coupon/audit-coupon.component.html
  14. 16
      src/app/admin/config-manage/brand/brand.component.html
  15. 3
      src/app/admin/config-manage/brand/brand.component.ts
  16. 2
      src/app/admin/config-manage/third-product/third-product.component.html
  17. 2
      src/app/admin/coupon/coupon-edit/coupon-edit.component.html
  18. 2
      src/app/admin/coupon/coupon-list/coupon-list.component.html
  19. 4
      src/app/admin/coupon/coupon-routing.module.ts
  20. 4
      src/app/admin/coupon/coupon.module.ts
  21. 56
      src/app/admin/coupon/printer-list/printer-list.component.html
  22. 0
      src/app/admin/coupon/printer-list/printer-list.component.scss
  23. 50
      src/app/admin/coupon/printer-list/printer-list.component.ts
  24. 12
      src/app/admin/discount-package/discount-package-edit/discount-package-edit.component.html
  25. 1
      src/app/admin/discount-package/discount-package-edit/discount-package-edit.component.ts
  26. 11
      src/app/admin/discount/discount-edit/discount-edit.component.html
  27. 24
      src/app/admin/gas-class-group/gas-class-group-task/gas-class-group-task.component.ts
  28. 2
      src/app/admin/goods/list/list.component.html
  29. 2
      src/app/admin/goods/list/list.component.ts
  30. 36
      src/app/admin/merchant-store/store-edit/store-edit.component.html
  31. 33
      src/app/admin/merchant-store/store-edit/store-edit.component.ts
  32. 37
      src/app/admin/merchant-store/store-list/store-list.component.html
  33. 55
      src/app/admin/merchant-store/store-list/store-list.component.ts
  34. 16
      src/app/admin/merchant/merchant-list/merchant-list.component.html
  35. 50
      src/app/admin/merchant/merchant-list/merchant-list.component.ts
  36. 236
      src/app/admin/order-manage/api-mer-order-list/api-mer-order-list.component.html
  37. 3
      src/app/admin/order-manage/api-mer-order-list/api-mer-order-list.component.scss
  38. 152
      src/app/admin/order-manage/api-mer-order-list/api-mer-order-list.component.ts
  39. 1
      src/app/admin/order-manage/discount-use-condition-list/discount-use-condition-list.component.ts
  40. 85
      src/app/admin/order-manage/give-coupons/give-coupons.component.html
  41. 7
      src/app/admin/order-manage/give-coupons/give-coupons.component.scss
  42. 28
      src/app/admin/order-manage/give-coupons/give-coupons.component.spec.ts
  43. 90
      src/app/admin/order-manage/give-coupons/give-coupons.component.ts
  44. 6
      src/app/admin/order-manage/order-manage-routing.module.ts
  45. 7
      src/app/admin/order-manage/order-manage.module.ts
  46. 332
      src/app/admin/order-manage/order-oil-card/order-oil-card.component.html
  47. 12
      src/app/admin/order-manage/order-oil-card/order-oil-card.component.scss
  48. 473
      src/app/admin/order-manage/order-oil-card/order-oil-card.component.ts
  49. 159
      src/app/admin/order-manage/order-oil/order-oil-list/order-oil-list.component.html
  50. 140
      src/app/admin/order-manage/order-oil/order-oil-list/order-oil-list.component.ts
  51. 2
      src/app/admin/recharge-order/price-list/price-list.component.html
  52. 128
      src/app/admin/statistics/coupon-use/coupon-use.component.html
  53. 6
      src/app/admin/statistics/coupon-use/coupon-use.component.scss
  54. 216
      src/app/admin/statistics/coupon-use/coupon-use.component.ts
  55. 2
      src/app/admin/system/menu/menu.component.html
  56. 46
      src/app/admin/system/oils-discount/oils-discount.component.html
  57. 36
      src/app/admin/system/oils-discount/oils-discount.component.ts
  58. 2
      src/app/admin/system/system-role-show/system-role-show.component.html
  59. 21
      src/app/admin/tuanyou-agent/petrol-station-manage/petrol-station-manage.component.html
  60. 12
      src/app/admin/tuanyou-agent/petrol-station-manage/petrol-station-manage.component.spec.ts
  61. 41
      src/app/admin/tuanyou-agent/petrol-station-manage/petrol-station-manage.ts
  62. 8
      src/app/app-common.module.ts
  63. 2
      src/app/app-routing.module.ts
  64. 3
      src/app/app.module.ts
  65. 27
      src/app/pipes/api-coupon/sc-printer.pipe.ts
  66. 34
      src/app/pipes/discount-code-status.pipe.ts
  67. 4
      src/app/pipes/display-area.pipe.ts
  68. 1
      src/app/pipes/index.ts
  69. 2
      src/app/pipes/index/product-config.pipe.ts
  70. 17
      src/app/pipes/order/order-child-goods-type.pipe.ts
  71. 2
      src/app/pipes/order/order-product-type.pipe.ts
  72. 5
      src/app/pipes/recharge-price/recharge-platform.pipe.ts
  73. 6
      src/app/pipes/third-product/product-type.pipe.ts
  74. 2
      src/app/services/Interceptor.service.ts
  75. 42
      src/app/services/agent.service.ts
  76. 11
      src/app/services/api-product.service.ts
  77. 28
      src/app/services/coupon.service.ts
  78. 36
      src/app/services/discount.service.ts
  79. 19
      src/app/services/index.service.ts
  80. 33
      src/app/services/order.service.ts
  81. 43
      src/app/services/order/order-api-mer.service.ts
  82. 9
      src/environments/environment.ts
  83. 5
      src/index.html

11
package-lock.json generated

@ -2907,6 +2907,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"deprecated": "Please upgrade to v1.0.1",
"dev": true,
"dependencies": {
"kind-of": "^6.0.0"
@ -2919,6 +2920,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"deprecated": "Please upgrade to v1.0.1",
"dev": true,
"dependencies": {
"kind-of": "^6.0.0"
@ -4943,6 +4945,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"deprecated": "Please upgrade to v1.0.1",
"dev": true,
"dependencies": {
"kind-of": "^6.0.0"
@ -4955,6 +4958,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"deprecated": "Please upgrade to v1.0.1",
"dev": true,
"dependencies": {
"kind-of": "^6.0.0"
@ -6003,6 +6007,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"deprecated": "Please upgrade to v1.0.1",
"dev": true,
"dependencies": {
"kind-of": "^6.0.0"
@ -6015,6 +6020,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"deprecated": "Please upgrade to v1.0.1",
"dev": true,
"dependencies": {
"kind-of": "^6.0.0"
@ -6080,6 +6086,7 @@
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
"integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
"deprecated": "This module is no longer supported.",
"dev": true
},
"node_modules/figures": {
@ -7507,6 +7514,7 @@
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A==",
"deprecated": "Please upgrade to v0.1.7",
"dev": true,
"dependencies": {
"kind-of": "^3.0.2"
@ -7637,6 +7645,7 @@
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg==",
"deprecated": "Please upgrade to v0.1.5",
"dev": true,
"dependencies": {
"kind-of": "^3.0.2"
@ -12869,6 +12878,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"deprecated": "Please upgrade to v1.0.1",
"dev": true,
"dependencies": {
"kind-of": "^6.0.0"
@ -12881,6 +12891,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"deprecated": "Please upgrade to v1.0.1",
"dev": true,
"dependencies": {
"kind-of": "^6.0.0"

@ -127,7 +127,7 @@
<nz-form-label [nzSpan]="6" nzRequired>奖励图片</nz-form-label>
<nz-form-control [nzSpan]="16">
<nz-upload
nzAction="{{POST_URL}}/fileUpload/uploadfile"
nzAction="{{POST_URL}}/fileUpload/fileUpload"
nzListType="picture-card"
[(nzFileList)]="logoFile"
[nzShowButton]="logoFile.length < 1"

@ -1,7 +1,7 @@
<!-- start 面包屑 -->
<app-breadcrumb></app-breadcrumb>
<!-- end 面包屑 -->
<nz-spin [nzSpinning]="loadingObject.status" [nzTip]="loadingObject.title">
<!--条件搜索-->
<div class="inner-content">
<form nz-form [formGroup]="searchForm" (ngSubmit)="getRequest(true , searchForm.value)">
@ -109,14 +109,9 @@
<nz-dropdown-menu #menu="nzDropdownMenu">
<ul nz-menu nzSelectable>
<li class="li-a" nz-menu-item><a (click)="getDistribution(data.id)">分发卡券</a></li>
<li class="li-a" nz-menu-item><a (click)="getDistributeCoupons(data.id ,1)">分发优惠券包</a></li>
<li class="li-a" nz-menu-item><a (click)="generateAgentQrCode(data.id)">生成二维码</a></li>
<li class="li-a" nz-menu-item><a (click)="getDiscount(data.id)">绑定优惠券</a></li>
<li class="li-a" nz-menu-item><a (click)="getDiscountList(data.id)">优惠券列表</a></li>
<li class="li-a" nz-menu-item><a (click)="getDistributeCoupons(data.id , 2)">绑定优惠券包</a></li>
<!-- <li class="li-a" nz-menu-item><a (click)="getDiscountPackageList(data.id)">优惠券列表</a></li>-->
<li class="li-a" nz-menu-item><a (click)="getDistributeCouponsList(data.id , 2)">优惠券包绑定列表</a></li>
<li class="li-a" nz-menu-item><a (click)="getDistributeCouponsList(data.id , 1)">优惠券包分发列表</a></li>
<li class="li-a" nz-menu-item><a [routerLink]="['/admin/order-manage/discount-use-condition-list']" [queryParams]="{agentId: data.id}">优惠券使用</a></li>
<li class="li-a" nz-menu-item><a (click)="getDistributionList(data.id)">分发列表</a></li>
<li class="li-a" nz-menu-item><a (click)='getForbiddenUser(data.id , data.status)'>{{data.status === 1 ? '禁用': '启用'}}</a></li>
@ -127,14 +122,13 @@
</nz-table>
</div>
</nz-spin>
<nz-modal [(nzVisible)]="isVisible" nzTitle="分配优惠券" (nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()">
<form nz-form [formGroup]="validateForm" class="login-form">
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired>优惠券</nz-form-label>
<nz-form-control [nzSpan]="16" nzErrorTip="请选择优惠券!">
<nz-select nzShowSearch nzAllowClear formControlName="discountId" nzPlaceHolder="请选择优惠券">
<nz-option *ngFor="let item of discountList" nzLabel="{{item.discountName}}-{{item.discountKey}}"
<nz-option *ngFor="let item of discountList" nzLabel="{{item.discountName}}"
nzValue="{{item.id}}"></nz-option>
</nz-select>
</nz-form-control>
@ -148,27 +142,6 @@
</form>
</nz-modal>
<nz-modal [(nzVisible)]="isVisibleDiscountPackage" nzTitle="绑定优惠券包" (nzOnCancel)="isVisibleDiscountPackage = false" (nzOnOk)="addDisCoupon(2)">
<form nz-form [formGroup]="validateFormDiscountPackage" class="login-form">
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired>优惠券包</nz-form-label>
<nz-form-control [nzSpan]="16" nzErrorTip="请选择优惠券包!">
<nz-select nzShowSearch nzAllowClear formControlName="discountPackageId" nzPlaceHolder="请选择优惠券包">
<nz-option *ngFor="let item of discountPackageList" nzLabel="【{{item['title']}}】--(有效库存: {{item['surplusStock']}} )"
nzValue="{{item.id}}"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired>数量</nz-form-label>
<nz-form-control [nzSpan]="16" nzErrorTip="绑定数量不能小于1!">
<input [type]="'number'" nz-input formControlName="num" nzPlaceHolder="请填写绑定数量" />
</nz-form-control>
</nz-form-item>
</form>
</nz-modal>
<nz-modal [(nzVisible)]="isVisibleDiscount" nzWidth="1000" nzTitle="代理商优惠券列表" (nzOnCancel)="handleCancelDiscount()"
(nzOnOk)="handleCancelDiscount()" [nzFooter]="null">
<nz-table
@ -258,29 +231,6 @@
</nz-spin>
</nz-modal>
<nz-modal [(nzVisible)]="isVisibleDistributeCoupons" nzTitle="分发优惠券包" (nzOnCancel)="isVisibleDistributeCoupons=false" [nzOkLoading]="isOkCouponsLoading" (nzOnOk)="addDisCoupon(1)">
<nz-spin [nzSpinning]="isSpinningDistributeCoupons">
<form nz-form [formGroup]="validateFormDiscountPackage" class="login-form">
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired>优惠券包</nz-form-label>
<nz-form-control [nzSpan]="16" nzErrorTip="请选择优惠券包!">
<nz-select nzShowSearch nzAllowClear formControlName="discountPackageId" nzPlaceHolder="请选择优惠券包">
<nz-option *ngFor="let item of discountPackageList" nzLabel="【{{item['title']}}】--(有效库存: {{item['surplusStock']}} )"
nzValue="{{item.id}}"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired>数量</nz-form-label>
<nz-form-control [nzSpan]="16" nzErrorTip="分发数量不能小于1!">
<input [type]="'number'" nz-input formControlName="num" nzPlaceHolder="请填写分发数量" />
</nz-form-control>
</nz-form-item>
</form>
</nz-spin>
</nz-modal>
<nz-modal [(nzVisible)]="isVisibleList" nzWidth="1000" nzTitle="分发卡券列表" (nzOnCancel)="handleCancelList()" (nzOnOk)="handleCancelList()">
<nz-table
class="table"
@ -321,66 +271,6 @@
</nz-table>
</nz-modal>
<nz-modal [(nzVisible)]="isVisibleDistributeCouponsList" nzWidth="1000" nzTitle="优惠券包{{type == 1 ? '分发':'分配'}}列表" (nzOnCancel)="isVisibleDistributeCouponsList=false" (nzOnOk)="isVisibleDistributeCouponsList=false">
<nz-table #basicTable1 [nzData]="distributeCouponsList" [nzLoading]="loadingCouponsList" [nzPageSize]="10" [nzScroll]="{ y: '500px' }">
<thead>
<tr>
<th nzWidth="50px">优惠券包名称</th>
<th nzWidth="50px">代理商名称</th>
<th nzWidth="50px">库存数量</th>
<th nzWidth="50px">销售数量</th>
<th nzWidth="70px">分发时间</th>
<th nzWidth="70px">操作</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of basicTable1.data">
<td>{{data.discountPackageTitle}}</td>
<td>{{data.agentName}}</td>
<td>{{data.stockCount}}</td>
<td>{{data.salesCount}}</td>
<td>{{data['createTime'] | date: 'yyyy-MM-dd HH:mm'}}</td>
<td>
<a (click)="getRecordList(data['discountPackageId'])">{{type == 1 ? '分发':'分配'}}历史</a>
</td>
</tr>
</tbody>
</nz-table>
</nz-modal>
<nz-modal [(nzVisible)]="isVisibleAgentRecordList" nzWidth="900" nzTitle="{{type == 1 ? '分发':'分配'}}记录列表" (nzOnCancel)="isVisibleAgentRecordList=false" (nzOnOk)="isVisibleAgentRecordList=false">
<nz-table #basicTable2 [nzData]="packageAgentRecordList" [nzPageSize]="10" [nzScroll]="{ y: '500px' }">
<thead>
<tr>
<th>优惠券包名称</th>
<th>代理商名称</th>
<th>{{type == 1 ? '分发':'分配'}}数量</th>
<th>{{type == 1 ? '分发':'分配'}}前数量</th>
<th>{{type == 1 ? '分发':'分配'}}后数量</th>
<th>{{type == 1 ? '分发':'分配'}}时间</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of basicTable2.data">
<td>{{data.discountPackageTitle}}</td>
<td>{{data.agentName}}</td>
<td>{{data.frontCount}}</td>
<td>{{data.frontCount}}</td>
<td>{{data.afterCount}}</td>
<td>{{data['createTime'] | date: 'yyyy-MM-dd HH:mm'}}</td>
</tr>
</tbody>
</nz-table>
</nz-modal>
<nz-modal [(nzVisible)]="isVisibleShow" nzWidth="700" nzTitle="分发记录" (nzOnCancel)="handleCancelListShow()" (nzOnOk)="handleCancelListShow()">
<nz-table #basicTable [nzData]="dataSet">
<thead>
@ -401,7 +291,3 @@
</tbody>
</nz-table>
</nz-modal>
<nz-modal [(nzVisible)]="isVisiblePercent" nzTitle="生成版本({{this.validateFormDiscountPackage.value['serialNumber']}})正在生成" [nzFooter]="null">
<nz-progress [nzPercent]="percent" ></nz-progress>
</nz-modal>

@ -23,31 +23,21 @@ export class AgentListComponent implements OnInit {
searchForm: FormGroup; // 搜索框
validateForm: FormGroup; // 搜索框
validateFormDistribute: FormGroup; // 搜索框
validateFormDiscountPackage:FormGroup;//搜索框
requestData = []; // 列表数据
discountList = []; // 列表数据
couponList = []; // 列表数据
distributeList = []; // 列表数据
discountPackageList=[];//优惠券包列表
distributeCouponsList=[];//优惠券包分发列表
packageAgentRecordList=[];//优惠券包分发记录列表
total: number; // 页码
pageNum = 1; // 页码
pageSize = 10; // 条码
loading = true;
isVisible = false;
isVisibleDiscountPackage = false;
isVisibleDiscount = false;
isVisibleDistribute = false;
isVisibleDistributeCoupons=false;
isVisibleDistributeCouponsList=false;
isVisibleAgentRecordList=false;
isVisibleList = false;
id: number;
isSpinning = false;
isSpinningDistribute = false;
isSpinningDistributeCoupons=false;
requestDataDiscount = []; // 列表数据
totalDiscount: number; // 页码
pageNumDiscount = 1; // 页码
@ -59,25 +49,16 @@ export class AgentListComponent implements OnInit {
pageNumList = 1; // 页码
pageSizeList = 10; // 条码
loadingList = true;
loadingCouponsList=false;
isOkLoading = false;
isOkCouponsLoading=false;
isVisibleShow = false;
isVisiblePercent = false;
percent = 0;
dataSet;
type: number;
processRateInterval;
loadingObject = {
title: '加载中...',
status: false,
};
constructor(
private form: FormBuilder,
private agent: AgentService,
private audit: AuditService,
private discount: DiscountService,
private coupon: CouponService,
private iconService: IconService,
private message: NzMessageService,
private router: Router,
private clipboardService: ClipboardService,
@ -96,7 +77,6 @@ export class AgentListComponent implements OnInit {
status: [null],
type: [null],
});
this.validateForm = this.form.group({
discountId: [null, [Validators.required]],
stockCount: [null, [Validators.required]],
@ -106,12 +86,6 @@ export class AgentListComponent implements OnInit {
type: [null, [Validators.required]],
stockCount: [null, [Validators.required]],
});
this.validateFormDiscountPackage=this.form.group({
discountPackageId:[null,[Validators.required]],
num:[null, [Validators.required,Validators.min(1)]]
})
this.getRequest(true, this.searchForm.value);
this.coupon.getCouponListByAll({} , data => {
@ -226,7 +200,6 @@ export class AgentListComponent implements OnInit {
this.getRequestDiscount(true);
}
public getDistributionList(id: number): void {
this.id = id;
this.isVisibleList = true;
@ -368,123 +341,6 @@ export class AgentListComponent implements OnInit {
});
}
// 获取优惠券包列表
public getDistributeCoupons(id: number , type: number): void{
this.validateFormDiscountPackage.reset();
this.isSpinningDistributeCoupons = true;
this.agentId = id;
const whereObject = {};
whereObject['pageNum'] = 1;
whereObject['pageSize'] = 10000;
whereObject['status']= 1;
this.agent.getDiscountPackageList(whereObject,(data)=>{
if (data['return_code'] === '000000') {
this.discountPackageList = data['return_data'].list;
} else {
this.message.error(data['return_msg']);
}
this.isSpinningDistributeCoupons=false;
})
if (type == 1) {
this.isVisibleDistributeCoupons=true;
} else {
this.isVisibleDiscountPackage = true;
}
}
//分发优惠券包 确定
public addDisCoupon(type: number): void{
for (const i in this.validateFormDiscountPackage.controls) {
this.validateFormDiscountPackage.controls[i].markAsDirty();
this.validateFormDiscountPackage.controls[i].updateValueAndValidity();
if (this.validateFormDiscountPackage.controls[i].errors != null) {
this.message.error('必填项不能为空');
return;
}
}
this.isOkCouponsLoading=true;
this.validateFormDiscountPackage.value['agentId'] = this.agentId;
if (type == 1) {
this.agent.distribute(this.validateFormDiscountPackage.value,(data)=>{
this.isOkCouponsLoading=false;
if (data['return_code'] === '000000') {
this.validateFormDiscountPackage.reset();
this.message.success('分发成功');
this.isVisibleDistributeCoupons = false;
} else {
this.message.error(data['return_msg']);
}
})
} else {
this.percent = 0;
this.validateFormDiscountPackage.value['serialNumber'] = new Date().getTime();
this.processRate(this.validateFormDiscountPackage.value['serialNumber']);
this.isVisiblePercent = true;
this.agent.generateDiscountPackageAgentCode(this.validateFormDiscountPackage.value,(data)=>{
this.isOkCouponsLoading=false;
this.loadingObject.status = false;
if (data['return_code'] === '000000') {
this.validateFormDiscountPackage.reset();
this.isVisibleDiscountPackage = false;
} else {
this.message.error(data['return_msg']);
}
})
}
}
// 优惠券包分发列表
public getDistributeCouponsList(id:number , type: number):void{
this.agentId = id;
this.isVisibleDistributeCouponsList=true;
this.loadingCouponsList=true;
this.distributeCouponsList=[];
this.type = type;
this.agent.getDiscountPackageAgentRelList(this.agentId, type ,(data)=>{
this.loadingCouponsList=false;
if (data['return_code'] === '000000') {
this.distributeCouponsList = data['return_data'];
} else {
this.message.error(data['return_msg']);
}
})
}
// 获取优惠券包代理商分发记录列表
public getRecordList(discountPackageId:number):void{
const params={};
params["discountPackageId"]=discountPackageId;
params["agentId"]=this.agentId;
params["type"]= this.type;
this.isVisibleAgentRecordList=true;
this.packageAgentRecordList=[];
this.agent.getDiscountPackageAgentRecord(params,(data)=>{
if (data['return_code'] === '000000') {
this.packageAgentRecordList = data['return_data'];
} else {
this.message.error(data['return_msg']);
}
})
}
public getList(id: number): void {
const whereObject = {};
whereObject['pageNum'] = 1;
@ -526,20 +382,5 @@ export class AgentListComponent implements OnInit {
});
}
// 获取导出百分比
processRate(key: string) {
this.processRateInterval = setInterval(() => this.common.getRedisValueByType(key, data => {
this.percent = data['return_data'];
if (this.percent === 100) {
clearTimeout(this.processRateInterval);
this.message.success('生成成功!');
this.loadingObject.status = false;
this.isVisiblePercent = false;
}
}), 100);
}
}

@ -161,6 +161,19 @@
<nz-input-number style="width: 100%" formControlName="amount" [nzMin]="0" [nzMax]="9999999" [nzStep]="1" [nzPrecision]="2"></nz-input-number>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired >验证码手机号</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-select nzShowSearch nzAllowClear formControlName="phone" nzPlaceHolder="请选择验证码手机号">
<nz-option nzLabel="18090580471" [nzValue]="'18090580471'"></nz-option>
<nz-option nzLabel="17726395120" [nzValue]="'17726395120'"></nz-option>
<nz-option nzLabel="15736027036" [nzValue]="'15736027036'"></nz-option>
<nz-option nzLabel="13251378838" [nzValue]="'13251378838'"></nz-option>
<nz-option nzLabel="13983618575" [nzValue]="'13983618575'"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired >验证码</nz-form-label>
<nz-form-control [nzSpan]="14">

@ -103,6 +103,7 @@ export class ListComponent implements OnInit {
this.rechargeForm = this.form.group({
merchantId: [null, [Validators.required]],
amount: [null, [Validators.required]],
phone: [null, [Validators.required]],
smsCode: [null, [Validators.required]],
});
this.searchForm = this.form.group({
@ -298,7 +299,7 @@ export class ListComponent implements OnInit {
this.rechargeForm.controls.merchantId.disable();
this.rechargeForm.controls.amount.disable();
this.common.sendRechargeSmsCode('13251378838', this.rechargeParam['merchantId'], this.rechargeParam['amount'], data => {
this.common.sendRechargeSmsCode(this.rechargeForm.value['phone'], this.rechargeParam['merchantId'], this.rechargeParam['amount'], data => {
if (data['return_code'] === '000000') {
this.getVerifyCodeCountdown();
} else {

@ -1,12 +1,10 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { JianniuListComponent } from './jianniu-list/jianniu-list.component';
import {ListComponent} from './list/list.component';
const routes: Routes = [
{ path: 'list', component: ListComponent },
{path: 'jianniu-list',component:JianniuListComponent}
];
@NgModule({

@ -3,7 +3,6 @@ import {CommonModule} from '@angular/common';
import {ApiProductRoutingModule} from './api-product-routing.module';
import {ListComponent} from './list/list.component';
import { JianniuListComponent } from './jianniu-list/jianniu-list.component';
import {SeparateModule} from '../../common/separate/separate.module';
import {BreadcrumbModule} from '../../common/breadcrumb/breadcrumb.module';
import {RegionSelectorModule} from '../../common/region-selector/region-selector.module';
@ -13,7 +12,7 @@ import {FormsModule, ReactiveFormsModule} from '@angular/forms';
@NgModule({
declarations: [ListComponent,JianniuListComponent],
declarations: [ListComponent],
imports: [
CommonModule,
ApiProductRoutingModule,

@ -1,38 +0,0 @@
<!-- start 面包屑 -->
<app-breadcrumb></app-breadcrumb>
<!-- end 面包屑 -->
<div class="inner-content">
<span>共计 {{total}} 条数据</span>
<nz-table
class="table"
#ajaxTable
nzBordered
nzShowSizeChanger
[nzData]="requestData"
[nzLoading]="loading"
[nzTotal]="total"
[(nzPageSize)]="pageSize"
>
<thead nzSingleSort>
<tr>
<th nzWidth="90px">编号</th>
<th >产品ID</th>
<th>标题</th>
<th>规格ID </th>
<th>面值</th>
<th>成本价</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of ajaxTable.data; let i = index">
<td>{{i + 1}}</td>
<td>{{data.goodsId}}</td>
<td>{{data.title}}</td>
<td>{{data.goodsOptionId}}</td>
<td>{{data.officialPrice}}元</td>
<td>{{data.platPrice}}元</td>
</tr>
</tbody>
</nz-table>
</div>

@ -1,42 +0,0 @@
import { Component, OnInit } from '@angular/core';
import { ApiProductService } from '../../../services/api-product.service';
import { NzMessageService } from 'ng-zorro-antd';
@Component({
selector: 'app-jianniu-list',
templateUrl: './jianniu-list.component.html',
styleUrls: ['./jianniu-list.component.scss']
})
export class JianniuListComponent implements OnInit {
total: number; // 总计
loading = true;
requestData = []; // 列表数据
pageNum = 1; // 页码
pageSize = 10; // 条码
constructor(
private apiProduct: ApiProductService,
private message: NzMessageService,
) { }
ngOnInit() {
this.getRequest();
}
// 查询列表
public getRequest() {
this.apiProduct.jNiuGoodsList( data => {
this.loading = false;
if (data['return_code'] === '000000') {
this.requestData = data['return_data'];
this.total = data['return_data'].length;
} else {
this.message.error(data['return_msg']);
}
});
}
}

@ -26,8 +26,7 @@
<nz-select nzShowSearch nzAllowClear formControlName="rechargePlatform" nzPlaceHolder="请选择充值平台">
<nz-option nzLabel="尖椒" [nzValue]="1"></nz-option>
<nz-option nzLabel="龙阅" [nzValue]="2"></nz-option>
<nz-option nzLabel="嗨购" [nzValue]="4"></nz-option>
<nz-option nzLabel="简牛" [nzValue]="5"></nz-option>
<nz-option nzLabel="畅停" [nzValue]="4"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>

@ -121,7 +121,7 @@
<nz-descriptions style="margin-top: 20px;" nzTitle="审核对象详情" nzBordered>
<nz-descriptions-item nzTitle="卡券类型">{{data['object']['couponType'] === 1 ? '内部卷' : '外部卷'}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="支付类型">{{data['object']['couponType'] === 1 ? '微信支付' : '金币支付'}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="展示区域">{{data['object']['displayArea'] === 1 ? '加油专区' : '金币专区'}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="展示区域">{{data['object']['displayArea'] === 1 ? '赠券专区' : '金币专区'}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="销售价格">¥{{data['object']['salesPrice']}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="折扣价格">¥{{data['object']['discountPrice']}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="销售数量">{{data['object']['salesCount']}}</nz-descriptions-item>
@ -149,7 +149,7 @@
<td>{{data['highCouponModel'].couponName}}</td>
<td>¥{{data['highCouponModel'].salesPrice}}</td>
<td>¥{{data['highCouponModel'].discountPrice}}</td>
<td>{{data['highCouponModel'].displayArea === 1 ? '加油专区' : '金币专区'}}</td>
<td>{{data['highCouponModel'].displayArea === 1 ? '赠券专区' : '金币专区'}}</td>
<td>{{data['highCouponModel'].couponType === 1 ? '内部卷' : '外部卷'}}</td>
</tr>
</tbody>

@ -90,14 +90,14 @@
<input nz-input placeholder="请输入标题..." [formControlName]="'title'" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSpan]="4" nzRequired>商品类别</nz-form-label>
<nz-form-control [nzSpan]="12" nzErrorTip="请选择商品类别!">
<nz-select nzShowSearch nzAllowClear formControlName="goodTypeId" nzPlaceHolder="请选择商品类别">
<nz-option *ngFor="let item of goodTypData" nzLabel="{{item.title}}" nzValue="{{item.id}}"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<!-- <nz-form-item>-->
<!-- <nz-form-label [nzSpan]="4" nzRequired>商品类别</nz-form-label>-->
<!-- <nz-form-control [nzSpan]="12" nzErrorTip="请选择商品类别!">-->
<!-- <nz-select nzShowSearch nzAllowClear formControlName="goodTypeId" nzPlaceHolder="请选择商品类别">-->
<!-- <nz-option *ngFor="let item of goodTypData" nzLabel="{{item.title}}" nzValue="{{item.id}}"></nz-option>-->
<!-- </nz-select>-->
<!-- </nz-form-control>-->
<!-- </nz-form-item>-->
<nz-form-item>
<nz-form-label [nzSpan]="4" nzRequired>图片</nz-form-label>
<nz-form-control [nzSpan]="20" nzErrorTip="请上传图片!">

@ -61,7 +61,6 @@ export class BrandComponent implements OnInit {
});
this.validateForm = this.fb.group({
title: [null, [Validators.required]],
goodTypeId: [null, [Validators.required]],
});
this.getRequest(true, this.searchForm.value);
@ -163,7 +162,6 @@ export class BrandComponent implements OnInit {
this.validateForm.value.img = this.imgFile[0].name;
}
}
console.log(this.validateForm.value);
if (this.editFlag) {
this.validateForm.value.id = this.id;
this.config.updateBrand(this.validateForm.value, data => {
@ -176,6 +174,7 @@ export class BrandComponent implements OnInit {
}
});
} else {
console.log('123');
this.config.insertBrand(this.validateForm.value, data => {
if (data['return_code'] === '000000') {
this.isVisible = false;

@ -99,8 +99,6 @@
<nz-option nzLabel="优惠券包" [nzValue]="7"></nz-option>
<nz-option nzLabel="汇联通充值" [nzValue]="8"></nz-option>
<nz-option nzLabel="实物商品" [nzValue]="10"></nz-option>
<nz-option nzLabel="个人油卡充值" [nzValue]="16"></nz-option>
<nz-option nzLabel="团购套餐" [nzValue]="17"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>

@ -54,7 +54,7 @@
<nz-form-label [nzFor]="'displayArea'" nzRequired>展示区域</nz-form-label>
<nz-form-control nzErrorTip="请选择展示区域!">
<nz-select nzPlaceHolder="请选择展示区域" [formControlName]="'displayArea'">
<nz-option nzValue="1" nzLabel="加油专区"></nz-option>
<nz-option nzValue="1" nzLabel="赠券专区"></nz-option>
<nz-option nzValue="2" nzLabel="金币专区"></nz-option>
<nz-option nzValue="3" nzLabel="银联专区"></nz-option>
<nz-option nzValue="4" nzLabel="优选商品"></nz-option>

@ -20,7 +20,7 @@
<nz-form-label [nzSpan]="6">展示区域</nz-form-label>
<nz-form-control [nzSpan]="16">
<nz-select nzPlaceHolder="请选择展示区域" [formControlName]="'displayArea'">
<nz-option nzValue="1" nzLabel="加油专区"></nz-option>
<nz-option nzValue="1" nzLabel="赠券专区"></nz-option>
<nz-option nzValue="2" nzLabel="金币专区"></nz-option>
<nz-option nzValue="3" nzLabel="银联专区"></nz-option>
<nz-option nzValue="4" nzLabel="优选商品"></nz-option>

@ -5,7 +5,6 @@ import {CouponEditComponent} from './coupon-edit/coupon-edit.component';
import {CouponDetailComponent} from './coupon-detail/coupon-detail.component';
import {SalesCodeListComponent} from './sales-code-list/sales-code-list.component';
import { BlxCouponComponent } from './blx-coupon/blx-coupon.component';
import {PrinterListComponent} from "./printer-list/printer-list.component";
const routes: Routes = [
@ -13,8 +12,7 @@ const routes: Routes = [
{ path: 'coupon-edit', component: CouponEditComponent },
{ path: 'coupon-detail', component: CouponDetailComponent },
{ path: 'salesCode-list', component: SalesCodeListComponent },
{path:'blx-coupon',component:BlxCouponComponent},
{path:'sc-printer-list',component:PrinterListComponent}
{path:'blx-coupon',component:BlxCouponComponent}
];
@NgModule({

@ -13,12 +13,10 @@ import {RichtextModule} from '../../common/richtext/richtext.module';
import {AppCommonModule} from '../../app-common.module';
import { SalesCodeListComponent } from './sales-code-list/sales-code-list.component';
import { BlxCouponComponent } from './blx-coupon/blx-coupon.component';
import { PrinterListComponent } from './printer-list/printer-list.component';
@NgModule({
declarations: [CouponListComponent, CouponEditComponent, CouponDetailComponent, SalesCodeListComponent,
BlxCouponComponent,
PrinterListComponent],
BlxCouponComponent],
imports: [
CommonModule,
CouponRoutingModule,

@ -1,56 +0,0 @@
<!-- start 面包屑 -->
<app-breadcrumb></app-breadcrumb>
<!-- end 面包屑 -->
<div class="inner-content">
<form nz-form [formGroup]="searchForm" (ngSubmit)="getRequest(searchForm.value)">
<div nz-row>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">类型</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-select nzShowSearch nzAllowClear formControlName="type">
<nz-option nzLabel="四川中石油" [nzValue]=1></nz-option>
<nz-option nzLabel="贵州中石油" [nzValue]=2></nz-option>
<nz-option nzLabel="中油优途卡券" [nzValue]=4></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
</div>
<div nz-row>
<div nz-col nzSpan="24" class="search-button">
<button nz-button nzType="primary"><i nz-icon nzType="search" nzTheme="outline"></i>搜索</button>
<button nz-button nzType="default" (click)="resetForm()"><i nz-icon nzType="reload" nzTheme="outline"></i>重置</button>
</div>
</div>
</form>
</div>
<div class="inner-content">
<span>共计 {{total}} 条数据</span>
<nz-table #basicTable [nzData]="requestData">
<thead>
<tr>
<th>编码</th>
<th>名称</th>
<th>面额</th>
<th>库存</th>
<th>类型</th>
<th>有效天数</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of basicTable.data">
<td>{{ data.alias }}</td>
<td>{{ data.title }}</td>
<td>{{ data.faceValue }}</td>
<td>{{ data.qty}}</td>
<td>{{ data.bizType | scPrinter}}</td>
<td>{{ data.validDate}}</td>
</tr>
</tbody>
</nz-table>
</div>

@ -1,50 +0,0 @@
import { Component, OnInit } from '@angular/core';
import {FormBuilder, FormGroup} from "@angular/forms";
import {CouponService} from "../../../services/coupon.service";
import {NzMessageService} from "ng-zorro-antd";
@Component({
selector: 'app-printer-list',
templateUrl: './printer-list.component.html',
styleUrls: ['./printer-list.component.scss']
})
export class PrinterListComponent implements OnInit {
searchForm: FormGroup; // 搜索框
requestData = []; // 列表数据
total: number = 0; // 总计条数
loading = false;
constructor(
private form: FormBuilder,
private coupon: CouponService,
private message: NzMessageService,
) { }
ngOnInit() {
this.searchForm = this.form.group({
type: [1],
});
this.getRequest(this.searchForm.value)
}
public resetForm(): void {
this.searchForm.reset();
}
// 查询列表
public getRequest(whereObject: object) {
this.loading = true;
this.coupon.synCouponRule( whereObject , data => {
this.loading = false;
if (data['return_code'] === '000000') {
this.requestData = data['return_data'];
this.total = data['return_data'].size;
} else {
this.message.error(data['return_msg']);
}
});
}
}

@ -16,21 +16,11 @@
</nz-steps>
<form style="margin-top: 30px;" *ngIf="current === 0" nz-form [formGroup]="validateForm">
<div nz-row>
<div nz-col class="gutter-row" [nzSpan]="24">
<nz-form-item>
<nz-form-label [nzSpan]="3" nzRequired>优惠券包标题</nz-form-label>
<nz-form-control [nzSpan]="8" nzErrorTip="请输入优惠券包标题">
<input nz-input type="text" formControlName="title" placeholder="请输入优惠券包标题" />
</nz-form-control>
</nz-form-item>
</div>
<div nz-col class="gutter-row" [nzSpan]="24">
<nz-form-item>
<nz-form-label [nzSpan]="3" nzRequired>优惠券包标签</nz-form-label>
<nz-form-control [nzSpan]="8" nzErrorTip="请输入优惠券包标签">
<input nz-input type="text" formControlName="showLabel" placeholder="请输入优惠券包标签" />
<input nz-input type="text" formControlName="title" placeholder="请输入优惠券包标题标题" />
</nz-form-control>
</nz-form-item>
</div>

@ -87,7 +87,6 @@ export class DiscountPackageEditComponent implements OnInit {
usingAttribution: [null],
salesType: [null, [Validators.required]],
price: [null],
showLabel: [null],
purchaseNum: [null],
});

@ -23,6 +23,17 @@
</nz-form-control>
</nz-form-item>
</div>
<!-- <div nz-col [nzSpan]="8">
<nz-form-item>
<nz-form-label [nzFor]="'discountName'" nzRequired>门店id</nz-form-label>
<nz-form-control nzErrorTip="请选择平台!">
<nz-select nzPlaceHolder="请选择优惠券类型" [formControlName]="'discountType'">
<nz-option nzValue="HSG" nzLabel="嗨森逛"></nz-option>
<nz-option nzValue="GRATIA_PAY" nzLabel="惠支付"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>-->
<div nz-col [nzSpan]="8">
<nz-form-item>
<nz-form-label [nzFor]="'discountName'" nzRequired>优惠券名称</nz-form-label>

@ -85,19 +85,17 @@ export class GasClassGroupTaskComponent implements OnInit {
*
*/
requestData(pageNum) {
if (pageNum != null) {
this.tableLoading = true;
this.whereObject['pageNum'] = pageNum;
this.whereObject['pageSize'] = 10;
this.gasClassGroupTaskService.getClassGroupTaskList(this.whereObject, data => {
if (data['return_code'] === '000000') {
this.dataObject = data['return_data'];
} else {
this.modal.error(data['return_msg']);
}
this.tableLoading = false;
});
}
this.tableLoading = true;
this.whereObject['pageNum'] = pageNum;
this.whereObject['pageSize'] = 10;
this.gasClassGroupTaskService.getClassGroupTaskList(this.whereObject, data => {
if (data['return_code'] === '000000') {
this.dataObject = data['return_data'];
} else {
this.modal.error(data['return_msg']);
}
this.tableLoading = false;
});
}
/**

@ -10,7 +10,7 @@
<nz-form-item>
<nz-form-label [nzSpan]="6">商品名称</nz-form-label>
<nz-form-control [nzSpan]="16">
<input nz-input formControlName="title"/>
<input nz-input formControlName="name"/>
</nz-form-control>
</nz-form-item>
</div>

@ -110,7 +110,7 @@ export class ListComponent implements OnInit {
// 初始化搜索表单
this.searchForm = this.form.group({
title: [null],
name: [null],
status: [null],
goodsLabel: [null],
});

@ -57,19 +57,6 @@
</nz-form-control>
</nz-form-item>
</div>
<div nz-col [nzSpan]="8">
<nz-form-item>
<nz-form-label [nzFor]="'type'" >来源类型</nz-form-label>
<nz-form-control >
<nz-select formControlName="sourceType" nzAllowClear nzPlaceHolder="请选择来源类型">
<nz-option nzValue="7" nzLabel="自建油卡"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col [nzSpan]="8">
<nz-form-item>
<nz-form-label [nzFor]="'type'" nzRequired>行业类型</nz-form-label>
@ -124,29 +111,6 @@
</nz-form-control>
</nz-form-item>
</div>
<div nz-col [nzSpan]="24">
<nz-form-item>
<nz-form-label>油卡位置图片</nz-form-label>
<nz-form-control>
<nz-upload
nzAction="{{WEB_SERVE_URL}}/fileUpload/uploadfile"
nzListType="picture-card"
[nzMultiple]="true"
[(nzFileList)]="imgFile"
[nzShowButton]="imgFile.length < 5"
[nzPreview]="handlePreview"
>
<i nz-icon nzType="plus"></i>
<div class="ant-upload-text">上传图片</div>
</nz-upload>
<nz-modal [nzVisible]="previewVisible" [nzContent]="modalContent" [nzFooter]="null" (nzOnCancel)="previewVisible = false">
<ng-template #modalContent>
<img [src]="previewImage" [ngStyle]="{ width: '100%' }" />
</ng-template>
</nz-modal>
</nz-form-control>
</nz-form-item>
</div>
<!-- <nz-divider nzText="设备信息"></nz-divider>
<div nz-col [nzSpan]="8">
<nz-form-item>

@ -33,7 +33,6 @@ export class StoreEditComponent implements OnInit {
id: number;
passwordVisible = false;
logoFile = [];
imgFile = [];
WEB_SERVE_URL = environment.baseUrl;
previewVisible = false;
previewImage: string | undefined = '';
@ -69,7 +68,6 @@ export class StoreEditComponent implements OnInit {
longitude: [106.565428, [Validators.required]],
deviceSn: [null],
deviceKey: [null],
sourceType: [null],
deviceName: [null],
regionId: [null],
brandId: [null],
@ -124,20 +122,6 @@ export class StoreEditComponent implements OnInit {
this.validateForm.value.storeLogo = this.logoFile[0].name;
}
}
const imgFile = [];
if (this.imgFile.length !== 0) {
for (const i of this.imgFile) {
if (i['response'] != null) {
imgFile.push(i['response']['return_data'][0]);
} else {
imgFile.push(i.name);
}
}
}
this.validateForm.value.ext3 = imgFile.join(',');
if (this.editFlag) {
this.validateForm.value.id = this.id;
this.merchantStore.updateMerchantStore(this.validateForm.value, data => {
@ -176,25 +160,10 @@ export class StoreEditComponent implements OnInit {
uid: 1,
name: logo,
status: 'done',
url: logo
url: environment.imageUrl + logo
});
this.logoFile = logoArray;
}
if (data['return_data']['ext3'] != null && data['return_data']['ext3'] !== '') {
const imgFile = data['return_data']['ext3'].split(',');
const imgFileArray = [];
for (const i of imgFile) {
imgFileArray.push(
{
uid: i,
name: i,
status: 'done',
url: environment.imageUrl + i
});
}
this.imgFile = imgFileArray;
}
this.validateForm.patchValue(data['return_data']);
this.getMap();
} else {

@ -94,8 +94,6 @@
<li class="li-a" nz-menu-item><a (click)="getDetail(data.id)">详情</a></li>
<li class="li-a" *ngIf="data.type == 1" nz-menu-item><a (click)="getQrCode(data.storeKey)">下载油站二维码</a></li>
<li class="li-a" *ngIf="'BTN_add_blance' | button" nz-menu-item><a (click)="getRecharge(data.id)">增加余额</a></li>
<li class="li-a" nz-menu-item><a (click)="getOilCard(data.id)">增加油卡</a></li>
<li class="li-a" nz-menu-item><a (click)="getOilCardList(data.id)">查看油卡</a></li>
<li class="li-a" nz-menu-item><a (click)="getDelete(data.id)">删除</a></li>
<li class="li-a" nz-menu-item><a [routerLink]="['/admin/device/list']" [queryParams]="{ merStoreId: data.id}">设备管理</a></li>
</ul>
@ -144,38 +142,3 @@
</div>
</div>
</nz-modal>
<nz-modal [(nzVisible)]="isVisibleAddOilCard" nzTitle="新增油卡" (nzOnCancel)="isVisibleAddOilCard = false" (nzOnOk)="handleOilCardOk()">
<div nz-row>
<div nz-col nzSpan="18">
<nz-form-item>
<nz-form-label [nzSpan]="6">油卡号</nz-form-label>
<nz-form-control [nzSpan]="16">
<input nz-input placeholder="请输入油卡号..." [(ngModel)]="oilCardNo" />
</nz-form-control>
</nz-form-item>
</div>
</div>
</nz-modal>
<nz-modal [(nzVisible)]="isVisibleAddOilCardList" nzTitle="导入失败数据" (nzOnCancel)="isVisibleAddOilCardList = false" nzWidth="900px" [nzFooter]="null">
<nz-table #oilCardList [nzData]="oilCardListArray">
<thead>
<tr>
<th nzWidth="80px">序号</th>
<th nzWidth="150px">油卡号</th>
<th nzWidth="150px">操作</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of oilCardList.data;let i = index">
<td>{{ i + 1}}</td>
<td>{{data.oilCardNo}}</td>
<td><a (click)="deleteOilCard(data.id)">删除</a></td>
</tr>
</tbody>
</nz-table>
</nz-modal>

@ -27,13 +27,10 @@ export class StoreListComponent implements OnInit {
price: string;
WEB_SERVE_URL = environment.baseUrl;
importErrorStudentArray = [];
oilCardListArray = [];
errorStudentVisible = false;
isVisibleAdd = false;
isSpinning = false;
isVisibleAddOilCard = false;
isVisibleAddOilCardList = false;
oilCardNo;
constructor(
private form: FormBuilder,
private merchantStore: MerchantStoreService,
@ -217,54 +214,4 @@ export class StoreListComponent implements OnInit {
}
});
}
public getOilCard(id): void {
this.storeId = id;
this.isVisibleAddOilCard = true;
}
public handleOilCardOk(): void {
if (this.oilCardNo == null) {
this.message.error('请输入充值金额');
return;
}
const paramsObject = {
storeId: this.storeId,
oilCardNo: this.oilCardNo
};
this.index.insertStoreOilCard(paramsObject, data => {
if (data['return_code'] === '000000') {
this.message.success("添加成功")
this.isVisibleAddOilCard = false;
} else {
this.message.error(data['return_msg']);
}
});
}
public getOilCardList(id:number) {
this.storeId = id;
this.isVisibleAddOilCardList = true;
this.index.getStoreOilCardList(id , data => {
this.oilCardListArray = data['return_data'];
});
}
deleteOilCard(id) {
const message = '是否删除油卡';
this.common.showConfirm(message, data => {
if (data) {
this.index.deleteStoreOilCard(id, dataReturn => {
if (dataReturn['return_code'] === '000000') {
this.message.success('操作成功');
this.getOilCardList(this.storeId);
} else {
this.message.warning(dataReturn['return_msg']);
}
});
}
});
}
}

@ -118,7 +118,7 @@
<a (click)='jumpMerAccountRecord(data.id)'>余额充值记录</a>
</li>
<li nz-menu-item>
<a (click)='showTripartitePlatformModal(data.id, 1)'>商户平台配置</a>
<a (click)='showTripartitePlatformModal(data.id)'>商户平台配置</a>
</li>
</ul>
</nz-dropdown-menu>
@ -203,11 +203,10 @@
<nz-modal [(nzVisible)]="tripartitePlatformModal" nzTitle="商户配置" (nzOnCancel)="closeTripartitePlatformModal()" nzWidth="500px" [nzFooter]="null">
<form nz-form [formGroup]="tripartitePlatformForm">
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired>第三方平台</nz-form-label>
<nz-form-control [nzSpan]="14" >
<nz-select formControlName="platformType" (ngModelChange)="getPlatformDetail(tripartitePlatformForm.controls['merId'].value, $event)">
<nz-form-label [nzSpan]="6" nzRequired >第三方平台</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-select formControlName="platformType">
<nz-option nzValue="1" nzLabel="微信"></nz-option>
<nz-option nzValue="2" nzLabel="惠支付"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
@ -226,13 +225,6 @@
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSpan]="6">商户KEY</nz-form-label>
<nz-form-control [nzSpan]="14">
<input nz-input placeholder="请输入第三方平台商户KEY" formControlName="platformMerKey" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired >是否分账</nz-form-label>
<nz-form-control [nzSpan]="14">

@ -73,7 +73,6 @@ export class MerchantListComponent implements OnInit {
platformType: ['1', [Validators.required]],
platformMerName: [null, [Validators.required]],
platformMerNumber: [null, [Validators.required]],
platformMerKey: [null],
profitSharingStatus: ['false', [Validators.required]],
profitSharingRatio: [null],
profitSharingReceiversNumber: [null],
@ -261,48 +260,21 @@ export class MerchantListComponent implements OnInit {
}
showTripartitePlatformModal(merId: number, platformType: number) {
this.getPlatformDetail(merId, platformType);
showTripartitePlatformModal(merId: number) {
this.tripartitePlatformService.getDetail(merId, 1, data => {
if (data['return_data'] != null) {
data['return_data']['platformType'] = String(data['return_data']['platformType']);
data['return_data']['profitSharingStatus'] = String(data['return_data']['profitSharingStatus']);
this.tripartitePlatformForm.patchValue(data['return_data']);
} else {
this.tripartitePlatformForm.patchValue( { merId: merId, platformType: '1', profitSharingStatus: 'false' });
}
});
this.tripartitePlatformModal = true;
}
getPlatformDetail(merId: number, platformType: number) {
if (merId != null) {
this.tripartitePlatformService.getDetail(merId, platformType, data => {
if (data['return_data'] != null) {
const dataObj = data['return_data'];
this.tripartitePlatformForm.controls['merId'].setValue(dataObj['merId']);
this.tripartitePlatformForm.controls['platformMerName'].setValue(dataObj['platformMerName']);
this.tripartitePlatformForm.controls['platformMerNumber'].setValue(dataObj['platformMerNumber']);
this.tripartitePlatformForm.controls['platformMerKey'].setValue(dataObj['platformMerKey']);
this.tripartitePlatformForm.controls['profitSharingStatus'].setValue(String(dataObj['profitSharingStatus']));
this.tripartitePlatformForm.controls['profitSharingRatio'].setValue(dataObj['profitSharingRatio']);
this.tripartitePlatformForm.controls['profitSharingReceiversNumber'].setValue(dataObj['profitSharingReceiversNumber']);
this.tripartitePlatformForm.controls['profitSharingReceiversName'].setValue(dataObj['profitSharingReceiversName']);
} else {
this.tripartitePlatformForm.controls['merId'].setValue(merId);
this.tripartitePlatformForm.controls['platformMerName'].setValue(null);
this.tripartitePlatformForm.controls['platformMerNumber'].setValue(null);
this.tripartitePlatformForm.controls['platformMerKey'].setValue(null);
this.tripartitePlatformForm.controls['profitSharingStatus'].setValue('false');
this.tripartitePlatformForm.controls['profitSharingRatio'].setValue(null);
this.tripartitePlatformForm.controls['profitSharingReceiversNumber'].setValue(null);
this.tripartitePlatformForm.controls['profitSharingReceiversName'].setValue(null);
}
});
}
}
closeTripartitePlatformModal() {
this.tripartitePlatformForm.controls['merId'].setValue(null);
this.tripartitePlatformForm.controls['platformMerName'].setValue(null);
this.tripartitePlatformForm.controls['platformMerNumber'].setValue(null);
this.tripartitePlatformForm.controls['platformType'].setValue(String(1));
this.tripartitePlatformForm.controls['platformMerKey'].setValue(null);
this.tripartitePlatformForm.controls['profitSharingStatus'].setValue('false');
this.tripartitePlatformForm.controls['profitSharingRatio'].setValue(null);
this.tripartitePlatformForm.controls['profitSharingReceiversNumber'].setValue(null);
this.tripartitePlatformForm.controls['profitSharingReceiversName'].setValue(null);
this.tripartitePlatformForm.reset();
this.tripartitePlatformModal = false;
}

@ -1,236 +0,0 @@
<!-- start 面包屑 -->
<app-breadcrumb></app-breadcrumb>
<!-- end 面包屑 -->
<nz-spin [nzSpinning]="loadingObject.status" [nzTip]="loadingObject.title">
<!-- start 搜索条件 -->
<div [@openClose]="isCollapse ? 'open' : 'closed'">
<div class="inner-content">
<form nz-form [formGroup]="searchForm" (ngSubmit)="getRequest(true , searchForm.value)">
<div nz-row>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">交易单号</nz-form-label>
<nz-form-control [nzSpan]="14">
<input nz-input formControlName="orderNo" />
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">客户电话</nz-form-label>
<nz-form-control [nzSpan]="14">
<input nz-input formControlName="memPhone" />
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">交易状态</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-select formControlName="orderStatus" nzAllowClear>
<nz-option *ngFor="let item of orderStatusArray" nzValue="{{item.codeValue}}" nzLabel="{{item.codeName}}"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
</div>
<div nz-row *ngIf="isCollapse">
<div nz-col nzSpan="8" *ngIf="roleType == 0 || roleType == 1">
<nz-form-item>
<nz-form-label [nzSpan]="8">分公司</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-select nzShowSearch formControlName="companyId" nzAllowClear>
<nz-option *ngFor="let item of companyArray" nzValue="{{item['id']}}" nzLabel="{{item['name']}}"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">支付方式</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-select nzAllowClear formControlName="payType">
<nz-option nzValue="1" nzLabel="支付宝"></nz-option>
<nz-option nzValue="2" nzLabel="微信"></nz-option>
<nz-option nzValue="3" nzLabel="积分抵扣"></nz-option>
<nz-option nzValue="4" nzLabel="汇联通工会卡"></nz-option>
<nz-option nzValue="5" nzLabel="银联"></nz-option>
<!-- <nz-option nzValue="6" nzLabel="银联分期"></nz-option>-->
<!-- <nz-option nzValue="7" nzLabel="嗨森逛油卡"></nz-option>-->
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">支付卡号</nz-form-label>
<nz-form-control [nzSpan]="14">
<input nz-input formControlName="memCardNo" />
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">支付时间</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-range-picker
[nzShowTime]="{ nzHideDisabledOptions: true }"
formControlName="payTimeArray"
nzFormat="yyyy-MM-dd HH:mm:ss"
></nz-range-picker>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">创建时间</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-range-picker
[nzShowTime]="{ nzHideDisabledOptions: true }"
formControlName="createTimeArray"
nzFormat="yyyy-MM-dd HH:mm:ss"
></nz-range-picker>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">退款时间</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-range-picker
[nzShowTime]="{ nzHideDisabledOptions: true }"
formControlName="refundTimeArray"
nzFormat="yyyy-MM-dd HH:mm:ss"
></nz-range-picker>
</nz-form-control>
</nz-form-item>
</div>
</div>
<div nz-row>
<div nz-col nzSpan="24" class="search-button">
<button nz-button nzType="primary"><i nz-icon nzType="search" nzTheme="outline"></i>搜索</button>
<button nz-button nzType="default" (click)="searchForm.reset();"><i nz-icon nzType="reload" nzTheme="outline"></i>重置</button>
<a class="collapse" (click)="isCollapse = !isCollapse;">{{!isCollapse ? '更多条件' : '隐藏条件'}}<i nz-icon [nzType]="!isCollapse ? 'down' : 'up'"></i></a>
</div>
</div>
</form>
</div>
</div>
<!-- end 搜索条件 -->
<!--列表数据-->
<div class="inner-content">
<span>共计 {{total?total:0}} 条数据</span>
<!--数组表格 -->
<nz-table #basicTable
nzShowPagination
nzShowSizeChanger
nzBordered
[nzData]="requestData"
[nzTotal]="total"
[nzLoading]="loading"
[nzFrontPagination]="false"
[(nzPageIndex)]="pageNum"
[(nzPageSize)]="pageSize"
(nzPageIndexChange)="getRequest(false , searchForm.value)"
(nzPageSizeChange)="getRequest(false , searchForm.value)"
[nzPageSizeOptions]="[10,20,50,100]"
[nzScroll]="{ x: '1200px'}">
<thead>
<tr>
<th nzWidth="200px">交易单号</th>
<th nzWidth="130px">客户电话</th>
<th nzWidth="200px">订单名称</th>
<th nzWidth="100px">订单金额</th>
<th nzWidth="100px">支付金额</th>
<th nzWidth="100px">支付方式</th>
<th nzWidth="100px">订单状态</th>
<th nzWidth="180px">创建时间</th>
<th nzWidth="110px" nzRight="0px">操作</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of basicTable.data;let i = index">
<td>{{data.orderNo}}</td>
<td>{{data.memPhone}}</td>
<td>{{data.title}}</td>
<td>¥{{data.totalPrice}}</td>
<td>¥{{data.payPrice}}</td>
<td>{{data.orderStatus == 1 || data.orderStatus == 5 ? '未支付' : data.payType | orderPayType}}</td>
<td>{{data.orderStatus | orderStatus}}</td>
<td>{{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
<td nzRight="0px" class="table-td-operation">
<a nz-dropdown [nzDropdownMenu]="menu"> 操作列表 <i nz-icon nzType="down"></i> </a>
<nz-dropdown-menu #menu="nzDropdownMenu">
<ul nz-menu nzSelectable>
<li nz-menu-item (click)="showOrderDetail(data.orderNo)"><a>详情</a></li>
</ul>
</nz-dropdown-menu>
</td>
</tr>
</tbody>
</nz-table>
</div>
</nz-spin>
<nz-modal [(nzVisible)]="orderDetailModal" nzTitle="交易详情" (nzOnCancel)="orderDetailModal = false" [nzFooter]="null"
nzWidth="1000px" [nzBodyStyle]=" { padding: '20px 20px 30px 20px'}">
<nz-spin [nzSpinning]="orderDetailModalLoading">
<nz-tabset [nzType]="'card'">
<nz-tab nzTitle="订单信息">
<nz-descriptions nzBordered [nzColumn]="2" [nzSize]="'middle'">
<nz-descriptions-item nzTitle="交易订单号">{{orderDetailObject.tradeOrder.orderNo}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="第三方交易号">{{orderDetailObject.tradeOrder.paySerialNo!=null?orderDetailObject.tradeOrder.paySerialNo:'无'}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="客户手机号">{{orderDetailObject.tradeOrder.memPhone}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="交易状态">{{orderDetailObject.tradeOrder.orderStatus | orderStatus}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="支付方式">{{orderDetailObject.tradeOrder.payType | orderPayType}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="支付卡号" *ngIf="orderDetailObject.tradeOrder.payType == 4 || orderDetailObject.tradeOrder.payType == 7">
{{orderDetailObject.tradeOrder.memCardNo}}
</nz-descriptions-item>
<nz-descriptions-item nzTitle="优惠券">{{orderDetailObject.tradeOrder.memDiscountName?orderDetailObject.tradeOrder.memDiscountName:'无'}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="返利">{{orderDetailObject.tradeOrder.whetherRebate?'是':'否'}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="备注">{{orderDetailObject.tradeOrder.remarks}}</nz-descriptions-item>
</nz-descriptions>
</nz-tab>
<nz-tab nzTitle="支付信息">
<nz-descriptions nzBordered [nzColumn]="3" [nzSize]="'middle'">
<nz-descriptions-item nzTitle="交易总额" >{{orderDetailObject.tradeOrder.totalPrice}} 元</nz-descriptions-item>
<nz-descriptions-item nzTitle="总优惠" >{{orderDetailObject.tradeOrder.totalDeductionPrice}} 元</nz-descriptions-item>
<nz-descriptions-item nzTitle="产品优惠金额" >{{orderDetailObject.tradeOrder.deductionProductPrice}} 元</nz-descriptions-item>
<nz-descriptions-item nzTitle="优惠券优惠" >{{orderDetailObject.tradeOrder.deductionCouponPrice}} 元</nz-descriptions-item>
<nz-descriptions-item nzTitle="应付金额" >{{orderDetailObject.tradeOrder.payablePrice}} 元</nz-descriptions-item>
<nz-descriptions-item nzTitle="积分抵扣" >{{orderDetailObject.tradeOrder.payGold / 100}} 元 </nz-descriptions-item>
<nz-descriptions-item nzTitle="实付金额" >
{{orderDetailObject.tradeOrder.payRealPrice!=null?orderDetailObject.tradeOrder.payRealPrice+' 元':'未支付'}}
</nz-descriptions-item>
</nz-descriptions>
</nz-tab>
<nz-tab nzTitle="订单时间">
<nz-card>
<nz-timeline>
<nz-timeline-item *ngIf="orderDetailObject.tradeOrder.createTime != null">
<p>创建时间:{{orderDetailObject.tradeOrder.createTime | date : 'yyyy-MM-dd HH:mm:ss'}}</p>
<p>备注:{{orderDetailObject.tradeOrder.remarks?orderDetailObject.tradeOrder.remarks:'无'}}</p>
</nz-timeline-item>
<nz-timeline-item *ngIf="orderDetailObject.tradeOrder.cancelTime != null">
<p>取消时间:{{orderDetailObject.tradeOrder.cancelTime | date : 'yyyy-MM-dd HH:mm:ss'}}</p>
<p>备注:{{orderDetailObject.tradeOrder.cancelRemarks?orderDetailObject.tradeOrder.cancelRemarks:'无'}}</p>
</nz-timeline-item>
<nz-timeline-item *ngIf="orderDetailObject.tradeOrder.payTime != null">支付时间:{{orderDetailObject.tradeOrder.payTime | date : 'yyyy-MM-dd HH:mm:ss'}}</nz-timeline-item>
<nz-timeline-item *ngIf="orderDetailObject.tradeOrder.finishTime != null">完成时间:{{orderDetailObject.tradeOrder.finishTime | date : 'yyyy-MM-dd HH:mm:ss'}}</nz-timeline-item>
<nz-timeline-item *ngIf="orderDetailObject.tradeOrder.refundTime != null">退款时间:{{orderDetailObject.tradeOrder.refundTime | date : 'yyyy-MM-dd HH:mm:ss'}}</nz-timeline-item>
</nz-timeline>
</nz-card>
</nz-tab>
</nz-tabset>
</nz-spin>
</nz-modal>

@ -1,152 +0,0 @@
import { Component, OnInit } from '@angular/core';
import {FormBuilder, FormGroup} from "@angular/forms";
import {environment} from "../../../../environments/environment";
import {LocalStorageService} from "../../../services/local-storage.service";
import {NzMessageService} from "ng-zorro-antd";
import {HltOrderService} from "../../../services/order/hlt-order.service";
import {CompanyService} from "../../../services/company.service";
import {CommonsService} from "../../../services/commons.service";
import {ADMIN_INFO_OBJECT} from "../../../services/local-storage.namespace";
import {animate, state, style, transition, trigger} from "@angular/animations";
import {OrderApiMerService} from "../../../services/order/order-api-mer.service";
@Component({
selector: 'app-api-mer-order-list',
animations: [
trigger('openClose', [
state('open', style({
height: '260px',
opacity: 1,
backgroundColor: 'white'
})),
state('closed', style({
opacity: 1,
backgroundColor: 'white'
})),
transition('open => closed', [
animate('0.3s')
]),
transition('closed => open', [
animate('0.3s')
]),
]),
],
templateUrl: './api-mer-order-list.component.html',
styleUrls: ['./api-mer-order-list.component.scss']
})
export class ApiMerOrderListComponent implements OnInit {
// 搜索框
searchForm: FormGroup;
// 搜索框折叠
isCollapse = false;
// 订单状态数据
orderStatusArray = [];
// 公司数据
companyArray = [];
// 角色类型
roleType: number;
// 列表相关参数
// 总条数
total: number;
// 页码
pageNum = 1;
// 条码
pageSize = 10;
// 列表数据
requestData = [];
// 列表加载
loading = true;
// 订单详情相关参数
// 详情模态框
orderDetailModal = false;
// 详情模态框数据等待
orderDetailModalLoading = false;
// 订单详情数据
orderDetailObject: any = {
tradeOrder: {},
};
// 数据加载中参数
loadingObject = {
title: '加载中...',
status: false,
};
// 请求地址参数
FILE_URL = environment.imageUrl;
mchId: string ;
constructor(
private form: FormBuilder,
private store: LocalStorageService,
private message: NzMessageService,
private apiMerOrderService: OrderApiMerService,
private companyService: CompanyService,
private commonsService: CommonsService,
) { }
ngOnInit(): void {
// 搜索表单初始化
this.searchForm = this.form.group({
orderNo: [null],
memPhone: [null],
payTimeArray: [null],
orderStatus: [null],
createTimeArray: [null],
refundTimeArray: [null],
companyId: [null],
payType: [null],
memCardNo: [null],
});
// 角色类型初始化
this.roleType = Number(this.store.get(ADMIN_INFO_OBJECT)['secRole'].roleType);
this.mchId = this.store.get(ADMIN_INFO_OBJECT)['apiMerchants'].mchId;
// 查询公司列表
if (this.roleType === 0 || this.roleType === 1) {
this.companyService.selectCompanyList({ pageNum: 1, pageSize: 999 }, data => {
this.companyArray = data['return_data']['list'];
});
}
// 查询订单状态数据
this.commonsService.getDictionary('ORDER_STATUS', data => {
this.orderStatusArray = data['return_data'];
});
this.getRequest(true, this.searchForm.value);
}
// 查询列表
public getRequest(reset: boolean = false, whereObject: object) {
this.loading = true;
if (reset) {
this.pageNum = 1;
}
whereObject['promoteCode'] = this.mchId;
whereObject['pageNum'] = this.pageNum;
whereObject['pageSize'] = this.pageSize;
this.apiMerOrderService.getOrderList(whereObject, data => {
this.loading = false;
if (data['return_code'] === '000000') {
this.requestData = data['return_data'].list;
this.total = data['return_data'].total;
} else {
this.message.error(data['return_msg']);
}
});
}
// 展示订单详情
public showOrderDetail(orderNo: string) {
this.orderDetailModal = true;
this.orderDetailModalLoading = true;
this.apiMerOrderService.getOrderDetail(orderNo, data => {
if (data['return_code'] === '000000') {
this.orderDetailObject = data['return_data'];
} else {
this.message.error(data['return_msg']);
}
this.orderDetailModalLoading = false;
});
}
}

@ -88,7 +88,6 @@ export class DiscountUseConditionListComponent implements OnInit {
this.agentService.getDiscountAgentList(param, data => {
if (data['return_code'] === '000000') {
this.discountArray = data['return_data'].list;
console.log(this.discountArray);
} else {
this.message.error(data['return_msg']);
}

@ -1,85 +0,0 @@
<!-- start 面包屑 -->
<app-breadcrumb></app-breadcrumb>
<!-- end 面包屑 -->
<!-- start 搜索条件 -->
<div >
<div class="inner-content">
<form nz-form [formGroup]="searchForm" (ngSubmit)="getRequest(true , searchForm.value)">
<div nz-row>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">优惠券名称</nz-form-label>
<nz-form-control [nzSpan]="14">
<input nz-input formControlName="discountName" />
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">状态</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-select formControlName="status" nzAllowClear>
<nz-option [nzValue]="0" nzLabel="已过期"></nz-option>
<nz-option [nzValue]="1" nzLabel="未使用"></nz-option>
<nz-option [nzValue]="2" nzLabel="已使用"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
</div>
<div nz-row>
<div nz-col nzSpan="24" class="search-button">
<button nz-button nzType="primary"><i nz-icon nzType="search" nzTheme="outline"></i>搜索</button>
</div>
</div>
</form>
</div>
</div>
<!-- end 搜索条件 -->
<!--列表数据-->
<div class="inner-content">
<span>共计 {{total?total:0}} 条数据</span>
<!--数组表格 -->
<nz-table #basicTable
nzShowPagination
nzShowSizeChanger
nzBordered
[nzData]="requestData"
[nzTotal]="total"
[nzLoading]="loading"
[nzFrontPagination]="false"
[(nzPageIndex)]="pageNum"
[(nzPageSize)]="pageSize"
(nzPageIndexChange)="getRequest(false , searchForm.value)"
(nzPageSizeChange)="getRequest(false , searchForm.value)"
[nzPageSizeOptions]="[10,20,50,100]"
[nzScroll]="{ x: '1200px'}">
<thead>
<tr>
<th >优惠券名称</th>
<th >优惠券类型</th>
<!-- <th >优惠金额</th> -->
<th>用户手机号</th>
<th>状态</th>
<th >使用时间</th>
<th>创建时间</th>
<th>使用截止时间</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of basicTable.data;let i = index">
<td>{{data.discountName}}</td>
<td>{{data.discountType | discountType}}</td>
<!-- <td>{{data.discountPrice}}</td> -->
<td>{{data.ext3 | phoneTranslate}}</td>
<td>{{data.status | discountCodeStatus2}}</td>
<td>{{data.useTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
<td>{{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
<td>{{data.useEndTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
</tr>
</tbody>
</nz-table>
</div>

@ -1,7 +0,0 @@
img {
width: 60px;
}
.fontColor {
color: red;
}

@ -1,28 +0,0 @@
/* tslint:disable:no-unused-variable */
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { DebugElement } from '@angular/core';
import { GiveCouponsComponent } from './give-coupons.component';
describe('GiveCouponsComponent', () => {
let component: GiveCouponsComponent;
let fixture: ComponentFixture<GiveCouponsComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ GiveCouponsComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(GiveCouponsComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

@ -1,90 +0,0 @@
import { Component, OnInit } from '@angular/core';
import {environment} from '../../../../environments/environment';
import {CompanyService} from '../../../services/company.service';
import {LocalStorageService} from '../../../services/local-storage.service';
import {ADMIN_INFO_OBJECT} from '../../../services/local-storage.namespace';
import {CommonsService} from '../../../services/commons.service';
import {OrderMobileRechargeService} from '../../../services/order/order-mobile-recharge.service';
import {FormBuilder, FormGroup} from '@angular/forms';
import {NzMessageService, NzNotificationService} from 'ng-zorro-antd';
import {animate, state, style, transition, trigger} from '@angular/animations';
import { OrderService } from 'src/app/services/order.service';
@Component({
selector: 'app-give-coupons',
templateUrl: './give-coupons.component.html',
styleUrls: ['./give-coupons.component.scss']
})
export class GiveCouponsComponent implements OnInit {
// 搜索框
searchForm: FormGroup;
// 列表相关参数
// 总条数
total: number;
// 页码
pageNum = 1;
// 条码
pageSize = 10;
// 列表数据
requestData = [];
// 列表加载
loading = true;
// 数据加载中参数
loadingObject = {
title: '加载中...',
status: false,
};
constructor(
private form: FormBuilder,
private store: LocalStorageService,
private message: NzMessageService,
private orderMobileRechargeService: OrderMobileRechargeService,
private orderService: OrderService,
private commonsService: CommonsService,
private notification: NzNotificationService,
) { }
ngOnInit(): void {
// 搜索表单初始化
this.searchForm = this.form.group({
discountName: [null],
status: [null],
});
// 查询代理商赠送优惠券
this.getRequest(true, this.searchForm.value);
}
// 查询列表
public getRequest(reset: boolean = false, whereObject: object) {
this.loading = true;
if (reset) {
this.pageNum = 1;
}
whereObject['pageNum'] = this.pageNum;
whereObject['pageSize'] = this.pageSize;
this.orderService.getAgentDiscountList(whereObject, data => {
this.loading = false;
if (data['return_code'] === '000000') {
this.requestData = data['return_data'].list;
this.total = data['return_data'].total;
} else {
this.message.error(data['return_msg']);
}
});
}
}

@ -14,9 +14,6 @@ import {MobileRechargeOrderListComponent} from './mobile-recharge-order-list/mob
import {HltChargeOrderComponent} from './hlt-charge-order/hlt-charge-order.component';
import {GoodsOrderComponent} from './goods-order/goods-order.component';
import {GoodsChildOrderComponent} from './goods-child-order/goods-child-order.component';
import {OrderOilCardComponent} from './order-oil-card/order-oil-card.component';
import {ApiMerOrderListComponent} from './api-mer-order-list/api-mer-order-list.component';
import {GiveCouponsComponent} from './give-coupons/give-coupons.component';
const routes: Routes = [
@ -34,9 +31,6 @@ const routes: Routes = [
{ path: 'hlt-order-list', component: HltChargeOrderComponent},
{ path: 'goods-order', component: GoodsOrderComponent},
{ path: 'goods-child-order', component: GoodsChildOrderComponent},
{ path: 'order-oil-card', component: OrderOilCardComponent},
{ path: 'api-mer-order', component: ApiMerOrderListComponent},
{ path:'give-coupons', component: GiveCouponsComponent}
];
@NgModule({

@ -24,14 +24,9 @@ import { HltChargeOrderComponent } from './hlt-charge-order/hlt-charge-order.com
import { GoodsOrderComponent } from './goods-order/goods-order.component';
import {PreviewImageModule} from "../../common/preview-image/preview-image.module";
import { GoodsChildOrderComponent } from './goods-child-order/goods-child-order.component';
import { OrderOilCardComponent } from './order-oil-card/order-oil-card.component';
import {GiveCouponsComponent} from './give-coupons/give-coupons.component';
import {ApiMerOrderListComponent} from './api-mer-order-list/api-mer-order-list.component';
@NgModule({
declarations: [OrderOilListComponent, OrderCouponListComponent, OrderIntegralRechargeComponent, OrderRefundListComponent, KfcOrderListComponent, StarbucksOrderListComponent, MemberChargeOrderListComponent, MobileRechargeOrderListComponent, PreOrderComponent,DicountPackageOrderListComponent, MemberChargeOrderListComponent, DiscountUseConditionListComponent, HltChargeOrderComponent, GoodsOrderComponent, GoodsChildOrderComponent, OrderOilCardComponent, ApiMerOrderListComponent,
GiveCouponsComponent
],
declarations: [OrderOilListComponent, OrderCouponListComponent, OrderIntegralRechargeComponent, OrderRefundListComponent, KfcOrderListComponent, StarbucksOrderListComponent, MemberChargeOrderListComponent, MobileRechargeOrderListComponent, PreOrderComponent,DicountPackageOrderListComponent, MemberChargeOrderListComponent, DiscountUseConditionListComponent, HltChargeOrderComponent, GoodsOrderComponent, GoodsChildOrderComponent],
imports: [
CommonModule,
OrderManageRoutingModule,

@ -1,332 +0,0 @@
<!-- start 面包屑 -->
<app-breadcrumb></app-breadcrumb>
<!-- end 面包屑 -->
<!--条件搜索-->
<nz-spin [nzSpinning]="loadingObject.status" [nzTip]="loadingObject.title">
<div class="inner-content">
<form nz-form [formGroup]="searchForm" (ngSubmit)="search(searchForm.value)">
<div nz-row>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">交易单号</nz-form-label>
<nz-form-control [nzSpan]="14">
<input nz-input formControlName="orderNo" />
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">客户电话</nz-form-label>
<nz-form-control [nzSpan]="14">
<input nz-input formControlName="memPhone" />
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">油卡卡号</nz-form-label>
<nz-form-control [nzSpan]="14">
<input nz-input formControlName="oilCardNo" />
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">创建时间</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-range-picker
[nzShowTime]="{ nzHideDisabledOptions: true }"
formControlName="createTime"
nzFormat="yyyy-MM-dd HH:mm:ss"
></nz-range-picker>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">支付时间</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-range-picker
[nzShowTime]="{ nzHideDisabledOptions: true }"
formControlName="payTime"
nzFormat="yyyy-MM-dd HH:mm:ss"
></nz-range-picker>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">交易状态</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-select formControlName="status" nzAllowClear>
<nz-option *ngFor="let item of orderStatusArray" nzValue="{{item.codeValue}}" nzLabel="{{item.codeName}}"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
</div>
<div nz-row *ngIf="isCollapse">
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">支付方式</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-select formControlName="payType" nzAllowClear>
<nz-option *ngFor="let item of payTypeArray" nzValue="{{item.codeValue}}" nzLabel="{{item.codeName}}"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">退款时间</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-range-picker
[nzShowTime]="{ nzHideDisabledOptions: true }"
formControlName="refundTimeArray"
nzFormat="yyyy-MM-dd HH:mm:ss"
></nz-range-picker>
</nz-form-control>
</nz-form-item>
</div>
</div>
<div nz-row>
<div nz-col nzSpan="24" class="search-button">
<button nz-button nzType="primary"><i nz-icon nzType="search" nzTheme="outline"></i>搜索</button>
<button nz-button nzType="default" (click)="resetSearchForm()"><i nz-icon nzType="reload" nzTheme="outline"></i>重置</button>
<a class="collapse" (click)="toggleCollapse()">更多条件<i nz-icon [nzType]="!isCollapse ? 'down' : 'up'"></i></a>
</div>
</div>
</form>
</div>
<div class="inner-content">
<span>共计 {{dataObject.total?dataObject.total:0}} 条数据</span>
<div class="operating-button">
<button nz-button nzType="primary" class="right-btn" (click)="excelOrder()"><i nz-icon nzType="export" nzTheme="outline"></i>导出订单</button>
</div>
<!--数组表格 -->
<nz-table #basicTable
nzShowPagination
nzShowSizeChanger
nzBordered
[nzData]="dataObject.list"
[nzTotal]="dataObject.total"
[nzFrontPagination]="false"
[nzLoading]="tableLoading"
[nzPageIndex]="whereObject.pageNum"
(nzPageIndexChange)="requestOrderData($event)"
(nzPageSizeChange)="pageSizeChang($event)"
[nzPageSizeOptions]="[10,20,50,100]"
[nzScroll]="{ x: '900px'}"
>
<thead>
<tr>
<th nzWidth="120px">交易单号</th>
<th nzWidth="120px">客户电话</th>
<th nzWidth="120px">油卡卡号</th>
<th nzWidth="80px">充值金额</th>
<th nzWidth="80px">赠送金额</th>
<th nzWidth="100px">实际到账金额</th>
<th nzWidth="80px">支付金额</th>
<th nzWidth="120px">创建时间</th>
<th nzWidth="120px">支付时间</th>
<th nzWidth="120px">退款时间</th>
<th nzWidth="80px">交易状态</th>
<th nzWidth="80px" nzRight="0px">操作</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of basicTable.data;let i = index" [style]="{ color: data.color}">
<td>{{data.orderNo}}</td>
<td>{{data.memPhone}}</td>
<td>{{data.oildCard}}</td>
<td>{{data.goodsActualPrice}}</td>
<td>{{data.givePrice}}</td>
<td>{{data.goodsPrice}}</td>
<td>{{data.payRealPrice!=null?data.payRealPrice:'未支付'}}</td>
<td>{{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
<td>{{data.payTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
<td>{{data.refundTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
<td>{{data.orderStatus}}</td>
<td nzRight="0px" class="table-td-operation">
<a nz-dropdown [nzDropdownMenu]="menu"> 操作列表 <i nz-icon nzType="down"></i> </a>
<nz-dropdown-menu #menu="nzDropdownMenu">
<ul nz-menu nzSelectable>
<li (click)="showOrderDetail(data.orderNo)" nz-menu-item>交易详情</li>
<li *ngIf="data.exceptionStatus == true" (click)="showRefund(data.orderNo)" nz-menu-item>交易退款</li>
<li *ngIf="data.orderStatus == '已退款'" (click)="showRefundRecord(data.orderNo)" nz-menu-item>退款记录</li>
</ul>
</nz-dropdown-menu>
</td>
</tr>
</tbody>
</nz-table>
</div>
</nz-spin>
<nz-modal [(nzVisible)]="orderDetailModal" nzTitle="交易详情" (nzOnCancel)="closeOrderDetail()" [nzFooter]="null"
nzWidth="1000px" [nzBodyStyle]=" { padding: '5px 5px 30px 5px'}">
<nz-spin [nzSpinning]="orderDetailModalLoading">
<nz-tabset [nzTabPosition]="'top'" [nzType]="'card'" class="order-oil-tab">
<nz-tab nzTitle="交易信息">
<nz-descriptions nzBordered [nzColumn]="2" [nzSize]="'middle'">
<nz-descriptions-item nzTitle="交易订单号">{{orderDetailObject.orderNo}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="第三方交易号">{{orderDetailObject.paySerialNo!=null?orderDetailObject.paySerialNo:'无'}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="客户手机号">{{orderDetailObject.memPhone}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="交易状态">{{orderDetailObject.orderStatus | orderStatus}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="支付方式">{{orderDetailObject.payType | orderPayType}}</nz-descriptions-item>
<!-- <nz-descriptions-item nzTitle="支付卡号" *ngIf="orderDetailObject.payType != null && (orderDetailObject.payType == 4 || orderDetailObject.tradeOrder.payType == 7)">
{{orderDetailObject.memCardNo}}
</nz-descriptions-item>-->
<nz-descriptions-item nzTitle="优惠券">{{orderDetailObject.memDiscountName?orderDetailObject.memDiscountName:'无'}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="返利">{{orderDetailObject.whetherRebate?'是':'否'}}</nz-descriptions-item>
<nz-descriptions-item nzTitle="备注">{{orderDetailObject.remarks}}</nz-descriptions-item>
</nz-descriptions>
<nz-divider nzText="支付信息"></nz-divider>
<nz-descriptions nzBordered [nzColumn]="3" [nzSize]="'middle'">
<nz-descriptions-item nzTitle="交易总额" >{{orderDetailObject.totalPrice}} 元</nz-descriptions-item>
<nz-descriptions-item nzTitle="优惠信息" nzSpan="2">
<span nz-typography>总优惠: {{orderDetailObject.totalDeductionPrice}} 元</span><br>
<span nz-typography>加油优惠: {{orderDetailObject.deductionProductPrice}} 元</span><br>
<span nz-typography>优惠券优惠: {{orderDetailObject.deductionCouponPrice}} 元</span><br>
</nz-descriptions-item>
<nz-descriptions-item nzTitle="应付金额" >{{orderDetailObject.payablePrice}} 元</nz-descriptions-item>
<nz-descriptions-item nzTitle="积分抵扣" >{{orderDetailObject.payGold / 100}} 元 </nz-descriptions-item>
<nz-descriptions-item nzTitle="实付金额" >
{{orderDetailObject.payRealPrice!=null?orderDetailObject.payRealPrice+' 元':'未支付'}}
</nz-descriptions-item>
</nz-descriptions>
</nz-tab>
<nz-tab nzTitle="交易时间">
<nz-card>
<nz-timeline>
<nz-timeline-item *ngIf="orderDetailObject.createTime != null">创建时间:{{orderDetailObject.createTime | date : 'yyyy-MM-dd HH:mm:ss'}}</nz-timeline-item>
<nz-timeline-item *ngIf="orderDetailObject.cancelTime != null">取消时间:{{orderDetailObject.cancelTime | date : 'yyyy-MM-dd HH:mm:ss'}}</nz-timeline-item>
<nz-timeline-item *ngIf="orderDetailObject.payTime != null">支付时间:{{orderDetailObject.payTime | date : 'yyyy-MM-dd HH:mm:ss'}}</nz-timeline-item>
<nz-timeline-item *ngIf="orderDetailObject.finishTime != null">完成时间:{{orderDetailObject.finishTime | date : 'yyyy-MM-dd HH:mm:ss'}}</nz-timeline-item>
<nz-timeline-item *ngIf="orderDetailObject.refundTime != null">退款时间:{{orderDetailObject.refundTime | date : 'yyyy-MM-dd HH:mm:ss'}}</nz-timeline-item>
</nz-timeline>
</nz-card>
</nz-tab>
<nz-tab nzTitle="产品信息">
<nz-table #childOrder [nzData]="orderDetailObject.highChildOrderList" [nzHideOnSinglePage]="true" [nzScroll]="{ x: '1000px'}">
<thead>
<tr>
<th nzWidth="110px">订单编号</th>
<th nzWidth="60px">产品类型</th>
<th nzWidth="150px">产品名称</th>
<th nzWidth="80px">产品规格</th>
<th nzWidth="60px">数量</th>
<th nzWidth="60px">单价</th>
<th nzWidth="60px">总价</th>
<th nzWidth="80px">订单状态</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of childOrder.data">
<td>{{ data.childOrderNo}}</td>
<td>{{ data.goodsType | orderChildGoodsType}}</td>
<td nzEllipsis>
{{ data.goodsName }}
<nz-tag *ngIf="data.giveawayType == 1" [nzColor]="'magenta'">赠品</nz-tag>
</td>
<td>{{ data.goodsSpecName }}</td>
<td>{{ data.saleCount }}</td>
<td>{{ data.goodsActualPrice }} 元</td>
<td>{{ data.totalActualPrice }} 元</td>
<td>{{ data.childOrderStatus | orderChildStatus}} </td>
</tr>
</tbody>
</nz-table>
</nz-tab>
</nz-tabset>
</nz-spin>
</nz-modal>
<nz-modal [(nzVisible)]="refundModal" nzTitle="交易退款" (nzOnCancel)="closeRefund()" [nzFooter]="null" nzWidth="800px">
<nz-spin [nzSpinning]="loadingObject.status" [nzTip]="loadingObject.title">
<form nz-form [formGroup]="refundForm">
<nz-form-item>
<nz-form-label>交易单号</nz-form-label>
<nz-form-control>
<input nz-input formControlName="orderNo" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label>退款备注</nz-form-label>
<nz-form-control>
<textarea rows="4" nz-input formControlName="remarks" maxlength="100"></textarea>
</nz-form-control>
</nz-form-item>
<div style="text-align: center;">
<button nz-button [nzType]="'primary'" (click)="submitRefundConfirm()">提交退款</button>
</div>
</form>
</nz-spin>
</nz-modal>
<nz-modal [(nzVisible)]="refundRecordModal" nzTitle="退款记录" (nzOnCancel)="closeRefundRecord()" [nzFooter]="null"
nzWidth="1000px" [nzBodyStyle]=" { padding: '5px 5px 30px 5px'}">
<nz-table #refundRecord [nzData]="refundRefundRecordArray"
[nzFrontPagination]="false"
[nzHideOnSinglePage]="true"
[nzScroll]="{ x: '1000px'}">
<thead>
<tr>
<th nzWidth="200px">交易单号</th>
<th nzWidth="160px">产品单号</th>
<th nzWidth="120px">客户电话</th>
<th nzWidth="120px">产品类型</th>
<th nzWidth="120px">产品名称</th>
<th nzWidth="200px">退款单号</th>
<th nzWidth="120px">退款数量</th>
<th nzWidth="120px">退款总额</th>
<th nzWidth="120px">退回金额</th>
<th nzWidth="100px">退回积分</th>
<th nzWidth="100px">退款状态</th>
<th nzWidth="180px">创建时间</th>
<th nzWidth="180px">退款时间</th>
<th nzWidth="300px">退款备注</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of refundRecord.data">
<td>{{data.orderNo}}</td>
<td>{{data.orderChildNo}}</td>
<td>{{data.memPhone}}</td>
<td>{{data.goodsType | orderChildGoodsType}}</td>
<td>{{data.goodsName}}</td>
<td>{{data.refundOrderNo}}</td>
<td>{{data.refundGoodsNum}}</td>
<td>¥{{data.returnTotalPrice}}</td>
<td>¥{{data.refundPrice}}</td>
<td>{{data.refundIntegral}}</td>
<td>{{data.refundStatus | orderRefundStatus}}</td>
<td>{{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
<td>{{data.refundTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
<td nzBreakWord>{{data.refundRemark}}</td>
</tr>
</tbody>
</nz-table>
</nz-modal>

@ -1,12 +0,0 @@
.collapse {
margin-left: 15px;
}
nz-range-picker {
width: 100%;
}
::ng-deep .order-oil-tab .ant-descriptions-item-label {
width: 150px;
}
::ng-deep .order-oil-tab .ant-descriptions-item-content {
width: 200px;
}

@ -1,473 +0,0 @@
import { Component, OnInit } from '@angular/core';
import {environment} from '../../../../environments/environment';
import {FormBuilder, FormGroup, Validators} from '@angular/forms';
import {NzMessageService, NzModalService} from 'ng-zorro-antd';
import {CommonsService} from '../../../services/commons.service';
import {CompanyService} from '../../../services/company.service';
import {MerchantService} from '../../../services/merchant.service';
import {LocalStorageService} from '../../../services/local-storage.service';
import {OrderManageService} from '../../../services/order/order-manage.service';
import {OrderService} from '../../../services/order.service';
import {OrganizationService} from '../../../services/organization.service';
import {ActivatedRoute} from '@angular/router';
import {ADMIN_INFO_OBJECT} from '../../../services/local-storage.namespace';
@Component({
selector: 'app-order-oil-card',
templateUrl: './order-oil-card.component.html',
styleUrls: ['./order-oil-card.component.scss']
})
export class OrderOilCardComponent implements OnInit {
FILE_URL = environment.imageUrl;
roleType;
adminFlag;
loadingObject = {
title: "加载中...",
status: false,
};
dataObject: any = {};
tableLoading = true;
searchForm: FormGroup;
pageNum = 1;
pageSize = 10;
whereObject: any = {};
isCollapse = false;
refundModal = false;
refundForm: FormGroup;
refundRefundRecordArray = [];
refundRecordModal = false;
orderDetailModal = false;
orderDetailModalLoading = false;
orderDetailObject: any = {}
orderStatusArray = [];
companyArray = [];
merArray = [];
payTypeArray = [];
orgIdArray = [];
cardNo: string;
phone: string;
carLicensePlate: string;
// 退款按钮权限
REFUND_OIL_BTN = false;
printDataObject = {
orderNo: null,
printData: null
};
printModal = false;
constructor(private modal: NzModalService,
private message: NzMessageService,
private commonsService: CommonsService,
private companyService: CompanyService,
private merchantService: MerchantService,
private store: LocalStorageService,
private orderManageService: OrderManageService,
private orderService: OrderService,
private organizationService: OrganizationService,
private activatedRoute: ActivatedRoute,
private form: FormBuilder) {
this.roleType = Number(this.store.get(ADMIN_INFO_OBJECT)['secRole'].roleType);
this.adminFlag = Number(this.store.get(ADMIN_INFO_OBJECT)['secUser'].adminFlag);
}
ngOnInit(): void {
let currentDate = new Date();
currentDate.setHours(0);
currentDate.setMinutes(0);
currentDate.setSeconds(0);
let createTimeS = currentDate.getTime();
currentDate.setHours(23);
currentDate.setMinutes(59);
currentDate.setSeconds(59);
let createTimeE = currentDate.getTime();
this.whereObject = { createTimeS: createTimeS, createTimeE: createTimeE};
this.commonsService.getDictionary("ORDER_STATUS", data => {
this.orderStatusArray = data['return_data'];
});
this.REFUND_OIL_BTN = this.commonsService.isBtnCompetence("BTN_REFUND_OIL_BTN");
this.refundForm = this.form.group({
orderNo: [{ value: null, disabled: true}, [Validators.required]],
remarks: [null],
});
this.searchForm = this.form.group({
orderNo: [null],
memPhone: [null],
oilCardNo: [null],
payType: [null],
status: [null],
createTime: [[createTimeS,createTimeE]],
createTimeS: [null],
createTimeE: [null],
payTime: [null],
payTimeS: [null],
payTimeE: [null],
refundTime: [null],
refundTimeS: [null],
refundTimeE: [null],
});
this.requestOrderData(1);
}
/**
*
*/
requestOrderData(pageNum: number) {
this.tableLoading = true;
if (this.cardNo != null) {
this.whereObject['memCardNo'] = this.cardNo;
}
if (this.phone != null) {
this.whereObject['memPhone'] = this.phone;
}
this.whereObject['pageNum'] = pageNum;
this.whereObject['pageSize'] = this.pageSize;
this.orderService.getOilCardOrderList(this.whereObject, data => {
if (data['return_code'] === '000000') {
this.dataObject = data['return_data'];
for (let data of this.dataObject['list']) {
if (data['exceptionStatus'] == true) {
data['color'] = 'red';
}
}
} else {
this.modal.error(data['return_msg']);
}
this.tableLoading = false;
});
}
/**
*
* @param whereObject
*/
search(whereObject: object) {
if (whereObject['createTime'] != null && whereObject['createTime'].length > 0) {
whereObject['createTimeS'] = new Date(whereObject['createTime'][0]).getTime();
whereObject['createTimeE'] = new Date(whereObject['createTime'][1]).getTime();
} else {
whereObject['createTimeS'] = null;
whereObject['createTimeE'] = null;
}
if (whereObject['payTime'] != null && whereObject['payTime'].length > 0) {
whereObject['payTimeS'] = new Date(whereObject['payTime'][0]).getTime();
whereObject['payTimeE'] = new Date(whereObject['payTime'][1]).getTime();
} else {
whereObject['payTimeS'] = null;
whereObject['payTimeE'] = null;
}
if (whereObject['refundTime'] != null && whereObject['refundTime'].length > 0) {
whereObject['refundTimeS'] = new Date(whereObject['refundTime'][0]).getTime();
whereObject['refundTimeE'] = new Date(whereObject['refundTime'][1]).getTime();
} else {
whereObject['refundTimeS'] = null;
whereObject['refundTimeE'] = null;
}
this.whereObject = whereObject;
this.requestOrderData(1);
}
/**
*
* @param pageSize
*/
pageSizeChang(pageSize: number) {
this.pageSize = pageSize;
this.requestOrderData(1)
}
/**
*
*/
resetSearchForm(): void {
this.searchForm.reset();
}
/**
*
*/
toggleCollapse(): void {
this.isCollapse = !this.isCollapse;
}
/**
*
*/
excelOrder() {
this.loadingObject.status = true;
this.loadingObject.title = '数据导出中...';
this.orderService.exportOilCardOrder(this.whereObject, data => {
if (data['return_code'] === '000000') {
window.location.href = this.FILE_URL + 'temporary/' + data['return_data'];
} else {
this.modal.error({
nzTitle: '提示',
nzContent: data['return_msg']
});
}
this.loadingObject.status = false;
});
}
/**
*
*/
showOrderDetail(orderNo: string) {
this.orderDetailModal = true;
this.orderDetailModalLoading = true;
this.orderManageService.getDetailByOrderNo(orderNo, data => {
if (data['return_code'] === '000000') {
this.orderDetailObject = data['return_data'];
} else {
this.modal.error({
nzTitle: '提示',
nzContent: data['return_msg']
});
}
this.orderDetailModalLoading = false;
});
}
/**
*
*/
closeOrderDetail() {
this.orderDetailModal = false;
}
/**
* 退
* @param orderNo
*/
showRefund(orderNo: string) {
this.refundForm.patchValue({ orderNo: orderNo})
this.refundModal = true;
}
/**
* 退
*/
submitRefundConfirm() {
for (const i in this.refundForm.controls) {
this.refundForm.controls[i].markAsDirty();
this.refundForm.controls[i].updateValueAndValidity();
}
if (this.refundForm.status == null || this.refundForm.status !== 'VALID') {
this.modal.warning({
nzTitle: '提示',
nzContent: '请填写所有必填项',
});
return;
}
this.modal.confirm({
nzTitle: '提示',
nzContent: '确定对交易订号('+this.refundForm.controls.orderNo.value+')进行退款吗?',
nzOnOk: () => this.submitRefund()
});
}
/**
* 退
* @param orderNo
*/
submitRefund() {
this.loadingObject.status = true;
this.loadingObject.title = '处理中...';
this.orderManageService.refundOrder(this.refundForm.controls.orderNo.value,this.refundForm.controls.remarks.value, data => {
if (data['return_code'] === '000000') {
this.modal.success({
nzTitle: '提示',
nzContent: '操作成功',
});
this.requestOrderData(this.whereObject.pageNum);
this.closeRefund();
} else {
this.modal.error({
nzTitle: '提示',
nzContent: data['return_msg'],
});
}
this.loadingObject.status = false;
});
this.refundModal = true;
}
/**
* 退
* @param orderNo
*/
closeRefund() {
this.refundModal = false;
}
/**
* 退
* @param orderNo
*/
showRefundRecord(orderNo: string) {
this.orderManageService.getRefundList({orderNo: orderNo, pageNum:1, pageSize: 99}, data => {
if (data['return_code'] === '000000') {
this.refundRefundRecordArray = data['return_data']['list'];
} else {
this.modal.error(data['return_msg']);
}
});
this.refundRecordModal = true;
}
/**
* 退
* @param orderNo
*/
closeRefundRecord() {
this.refundRecordModal = false;
}
showPrintModal(orderNo: string, data: PrintData) {
this.printDataObject.orderNo = orderNo;
this.printDataObject.printData = data;
this.printModal = true;
}
cloudPrint() {
this.orderService.print(this.printDataObject.orderNo, 2, dataBack => {
if (dataBack['return_code'] === '000000') {
this.modal.success({
nzTitle: '提示',
nzContent: '操作成功',
});
}
});
}
showPrintDiv() {
const data = this.printDataObject.printData;
data['createTime'] = new Date(data['createTime']).toLocaleString();
this.printDiv(data);
}
printDiv(data: object) {
const headstr = '<html><head><title>打印小票</title></head><body>';
const footstr = '</body>';
const newstr = '<div id="div_print" style="font-size: 16px;">\n' +
' <div style="float: left;margin-bottom: 150px;">\n' +
' <div style="line-height: 30px; color:#000;">\n' +
' <span style="font-size: 13px;float: left;width: 100%;">' + data['storeName'] + '</span>\n' +
' <span style="font-size: 13px;float: left;width: 100%;margin-left: 60px;">(客户存根)</span>\n' +
' </div>\n' +
' <table style="width: 100%;">\n' +
' <tbody>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">流水号:<span>' + data['orderNo'] + '</span></td>\n' +
' </tr>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">时间:<span>' + data['createTime'] + '</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">来源:<span>嗨森逛</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">油枪:<span>' + data['gasGunNo'] + '</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">油品:<span>' + data['gasOilNo'] + '</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">升数:<span>' + data['gasOilLiters'] + '升</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">实际加油升数以油站加油机为准!</td>\n' +
' </tr>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr><td style="float: left;margin-top: 10px;font-size: 30px;color: black">加油金额</td></tr>\n' +
' <tr><td style="font-size: 30px;color: black">¥' + data['gasRefuelPrice'] + '元</td></tr>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr><td style="float: left;font-size: xx-small;color: black;margin-left: 25px;">开心又省钱; 来”嗨森逛“</td></tr>\n' +
' </tbody>\n' +
' </table>\n' +
' </div>\n' +
' <div style="float: left;margin-bottom: 50px;">\n' +
' <div style="line-height: 30px; color:#000;">\n' +
' <span style="font-size: 13px;float: left;width: 100%;">' + data['storeName'] + '</span>\n' +
' <span style="font-size: 13px;float: left;width: 100%;margin-left: 60px;">(收银员存根)</span>\n' +
' </div>\n' +
' <table style="width: 100%;">\n' +
' <tbody>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">流水号:<span>' + data['orderNo'] + '</span></td>\n' +
' </tr>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">时间:<span>' + data['createTime'] + '</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">来源:<span>嗨森逛</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">油枪:<span>' + data['gasGunNo'] + '</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">油品:<span>' + data['gasOilNo'] + '</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">升数:<span>' + data['gasOilLiters'] + '升</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">实际加油升数以油站加油机为准!</td>\n' +
' </tr>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr><td style="float: left;margin-top: 10px;font-size: 30px;color: black">加油金额</td></tr>\n' +
' <tr><td style="font-size: 30px;color: black">¥' + data['gasRefuelPrice'] + '元</td></tr>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr><td style="float: left;font-size: xx-small;color: black;margin-left: 25px;">开心又省钱; 来”嗨森逛“</td></tr>\n' +
' </tbody>\n' +
' </table>\n' +
' </div>\n' +
'</div>';
// const oldstr = document.body.innerHTML;
// document.body.innerHTML = headstr + newstr + footstr;
const newWindow = window.open('', '');
newWindow.document.write(headstr + newstr + footstr);
newWindow.print();
newWindow.close();
// document.body.innerHTML = oldstr;
// location.reload();
return false;
}
}
export class PrintData {
// 油站名称
gasName = '';
// 订单号
orderNo = '';
// 下单时间
createTime = '';
// 油品
gasOilNo = '';
// 加油抢号
gasGunNo = '';
// 加油升数
gasOilLiters = 0;
// 加油金额
oilPrice = 0;
}

@ -299,7 +299,6 @@
<ul nz-menu nzSelectable>
<li (click)="showOrderDetail(data.orderNo)" nz-menu-item>交易详情</li>
<li *ngIf="REFUND_OIL_BTN == true && data.status == 2" (click)="showRefund(data.orderNo)" nz-menu-item>交易退款</li>
<li *ngIf="data.status == 2" (click)="showPrintModal(data.orderNo, data)" nz-menu-item>打印小票</li>
<li (click)="showRefundRecord(data.orderNo)" nz-menu-item>退款记录</li>
</ul>
</nz-dropdown-menu>
@ -489,161 +488,3 @@
</tbody>
</nz-table>
</nz-modal>
<nz-modal [(nzVisible)]="printModal" nzTitle="选择打印方式" nzWidth="200" (nzOnCancel)="printModal = false" [nzFooter]="null">
<form nz-form>
<nz-form-item>
<nz-form-control>
<button nz-button nzType="primary" nzBlock (click)="showPrintDiv()">热敏打印机</button>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-control>
<button nz-button nzType="primary" nzBlock (click)="cloudPrint()">云打印机</button>
</nz-form-control>
</nz-form-item>
</form>
</nz-modal>
<!--<div id="div_print">
<div style="float: left;margin-bottom: 150px;">
<div style="line-height: 30px; color:#000;">
<span style="font-size: 13px;float: left;width: 100%;">{{printDataObject.gasName}}</span>
<span style="font-size: 13px;float: left;width: 100%;margin-left: 60px;">(客户存根)</span>
</div>
<table style="width: 100%;">
<tbody>
<tr><td class="print_td">-&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;</td></tr>
<tr>
<td class="print_td">流水号:<span>{{printDataObject.orderNo}}</span></td>
</tr>
<tr><td class="print_td">-&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;</td></tr>
<tr>
<td class="print_td">时间:<span>{{printDataObject.createTime | date: 'yyyy-MM-dd HH:mm:ss'}}</span></td>
</tr>
<tr>
<td class="print_td">来源:<span>嗨森逛</span></td>
</tr>
<tr>
<td class="print_td">油枪:<span>{{printDataObject.gasGunNo}}</span></td>
</tr>
<tr>
<td class="print_td">油品:<span>{{printDataObject.gasOilNo}}</span></td>
</tr>
<tr>
<td class="print_td">升数:<span>{{printDataObject.gasOilLiters}}升</span></td>
</tr>
<tr>
<td class="print_td">实际加油升数以油站加油机为准!</td>
</tr>
<tr><td style="float: left;margin-top: 10px;font-size: 30px;color: black">加油金额</td></tr>
<tr><td style="font-size: 30px;color: black">¥{{printDataObject.oilPrice}}元</td></tr>
<tr><td class="print_td">-&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;</td></tr>
<tr><td style="float: left;color: black;margin-left: 35px;">开心又省钱; 来”嗨森逛“</td></tr>
</tbody>
</table>
</div>
<div style="float: left;margin-bottom: 50px;">
<div style="line-height: 30px; color:#000;">
<span style="font-size: 13px;float: left;width: 100%;">{{printDataObject.gasName}}</span>
<span style="font-size: 13px;float: left;width: 100%;margin-left: 60px;">(收银员存根)</span>
</div>
<table style="width: 100%;">
<tbody>
<tr><td class="print_td">-&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;</td></tr>
<tr>
<td class="print_td">流水号:<span>{{printDataObject.orderNo}}</span></td>
</tr>
<tr><td class="print_td">-&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;</td></tr>
<tr>
<td class="print_td">时间:<span>{{printDataObject.createTime | date: 'yyyy-MM-dd HH:mm:ss'}}</span></td>
</tr>
<tr>
<td class="print_td">来源:<span>嗨森逛</span></td>
</tr>
<tr>
<td class="print_td">油枪:<span>{{printDataObject.gasGunNo}}</span></td>
</tr>
<tr>
<td class="print_td">油品:<span>{{printDataObject.gasOilNo}}</span></td>
</tr>
<tr>
<td class="print_td">升数:<span>{{printDataObject.gasOilLiters}}升</span></td>
</tr>
<tr>
<td class="print_td">实际加油升数以油站加油机为准!</td>
</tr>
<tr><td style="float: left;margin-top: 10px;font-size: 30px;color: black">加油金额</td></tr>
<tr><td style="font-size: 30px;color: black">¥{{printDataObject.oilPrice}}元</td></tr>
<tr><td class="print_td">-&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;&#45;</td></tr>
<tr><td style="float: left;color: black;margin-left: 35px;">开心又省钱; 来”嗨森逛“</td></tr>
</tbody>
</table>
</div>
&lt;!&ndash; <table border=1 cellspacing=0 cellpadding=1 width="100%" style="border-collapse:collapse" bordercolor="#333333">
<thead>
<tr>
<td width="10%">
<div align=center><b>表格页眉</b></div>
</td>
<td width="25%">
<div align=center><b>品名</b></div>
</td>
<td width="10%">
<div align=center><b>颜色</b></div>
</td>
<td width="10%">
<div align=center><b>规格</b></div>
</td>
<td width="10%">
<div align=center><b>数量</b></div>
</td>
<td width="15%">
<div align=center><b>单价</b></div>
</td>
<td width="20%">
<div align=center><b>金额</b></div>
</td>
</tr>
</thead>
<tbody>
<tr>
<td>&nbsp;1</td>
<td>名称01</td>
<td>浅灰色</td>
<td>185/10</td>
<td>1</td>
<td>248.00</td>
<td>248.00</td>
</tr>
<tr>
<td>&nbsp;2</td>
<td>名称02</td>
<td>浅灰色</td>
<td>185/10</td>
<td>1</td>
<td>248.00</td>
<td>248.00</td>
</tr>
<tr>
<td>&nbsp;3</td>
<td>名称03</td>
<td>浅灰色</td>
<td>185/10</td>
<td>1</td>
<td>248.00</td>
<td>248.00</td>
</tr>
<tr>
<td>&nbsp;4</td>
<td>名称04</td>
<td>浅灰色</td>
<td>185/10</td>
<td>1</td>
<td>248.00</td>
<td>248.00</td>
</tr>
</table>&ndash;&gt;
</div>-->

@ -14,7 +14,6 @@ import {MerchantService} from '../../../../services/merchant.service';
import {OrderOilService} from '../../../../services/order/order-oil.service';
import {OrderManageService} from '../../../../services/order/order-manage.service';
import {ActivatedRoute} from '@angular/router';
import {OrderService} from '../../../../services/order.service';
@Component({
selector: 'app-order-oil-list',
@ -67,12 +66,6 @@ export class OrderOilListComponent implements OnInit {
// 退款按钮权限
REFUND_OIL_BTN = false;
printDataObject = {
orderNo: null,
printData: null
};
printModal = false;
constructor(private modal: NzModalService,
private message: NzMessageService,
private commonsService: CommonsService,
@ -80,7 +73,6 @@ export class OrderOilListComponent implements OnInit {
private merchantService: MerchantService,
private store: LocalStorageService,
private orderManageService: OrderManageService,
private orderService: OrderService,
private orderOilService: OrderOilService,
private tyAgentService: TyAgentService,
private tySalesmanService: TySalesmanService,
@ -464,136 +456,4 @@ export class OrderOilListComponent implements OnInit {
this.refundRecordModal = false;
}
showPrintModal(orderNo: string, data: PrintData) {
this.printDataObject.orderNo = orderNo;
this.printDataObject.printData = data;
this.printModal = true;
}
cloudPrint() {
this.orderService.print(this.printDataObject.orderNo, 2, dataBack => {
if (dataBack['return_code'] === '000000') {
this.modal.success({
nzTitle: '提示',
nzContent: '操作成功',
});
}
});
}
showPrintDiv() {
const data = this.printDataObject.printData;
data['createTime'] = new Date(data['createTime']).toLocaleString();
this.printDiv(data);
}
printDiv(data: object) {
const headstr = '<html><head><title>打印小票</title></head><body>';
const footstr = '</body>';
const newstr = '<div id="div_print" style="font-size: 16px;">\n' +
' <div style="float: left;margin-bottom: 150px;">\n' +
' <div style="line-height: 30px; color:#000;">\n' +
' <span style="font-size: 13px;float: left;width: 100%;">' + data['storeName'] + '</span>\n' +
' <span style="font-size: 13px;float: left;width: 100%;margin-left: 60px;">(客户存根)</span>\n' +
' </div>\n' +
' <table style="width: 100%;">\n' +
' <tbody>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">流水号:<span>' + data['orderNo'] + '</span></td>\n' +
' </tr>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">时间:<span>' + data['createTime'] + '</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">来源:<span>嗨森逛</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">油枪:<span>' + data['gasGunNo'] + '</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">油品:<span>' + data['gasOilNo'] + '</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">升数:<span>' + data['gasOilLiters'] + '升</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">实际加油升数以油站加油机为准!</td>\n' +
' </tr>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr><td style="float: left;margin-top: 10px;font-size: 30px;color: black">加油金额</td></tr>\n' +
' <tr><td style="font-size: 30px;color: black">¥' + data['gasRefuelPrice'] + '元</td></tr>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr><td style="float: left;font-size: xx-small;color: black;margin-left: 25px;">开心又省钱; 来”嗨森逛“</td></tr>\n' +
' </tbody>\n' +
' </table>\n' +
' </div>\n' +
' <div style="float: left;margin-bottom: 50px;">\n' +
' <div style="line-height: 30px; color:#000;">\n' +
' <span style="font-size: 13px;float: left;width: 100%;">' + data['storeName'] + '</span>\n' +
' <span style="font-size: 13px;float: left;width: 100%;margin-left: 60px;">(收银员存根)</span>\n' +
' </div>\n' +
' <table style="width: 100%;">\n' +
' <tbody>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">流水号:<span>' + data['orderNo'] + '</span></td>\n' +
' </tr>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">时间:<span>' + data['createTime'] + '</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">来源:<span>嗨森逛</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">油枪:<span>' + data['gasGunNo'] + '</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">油品:<span>' + data['gasOilNo'] + '</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">升数:<span>' + data['gasOilLiters'] + '升</span></td>\n' +
' </tr>\n' +
' <tr>\n' +
' <td style="font-size: xx-small;color: black;">实际加油升数以油站加油机为准!</td>\n' +
' </tr>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr><td style="float: left;margin-top: 10px;font-size: 30px;color: black">加油金额</td></tr>\n' +
' <tr><td style="font-size: 30px;color: black">¥' + data['gasRefuelPrice'] + '元</td></tr>\n' +
' <tr><td style="font-size: xx-small;color: black;">-------------------------------------------</td></tr>\n' +
' <tr><td style="float: left;font-size: xx-small;color: black;margin-left: 25px;">开心又省钱; 来”嗨森逛“</td></tr>\n' +
' </tbody>\n' +
' </table>\n' +
' </div>\n' +
'</div>';
// const oldstr = document.body.innerHTML;
// document.body.innerHTML = headstr + newstr + footstr;
const newWindow = window.open('', '');
newWindow.document.write(headstr + newstr + footstr);
newWindow.print();
newWindow.close();
// document.body.innerHTML = oldstr;
// location.reload();
return false;
}
}
export class PrintData {
// 油站名称
gasName = '';
// 订单号
orderNo = '';
// 下单时间
createTime = '';
// 油品
gasOilNo = '';
// 加油抢号
gasGunNo = '';
// 加油升数
gasOilLiters = 0;
// 加油金额
oilPrice = 0;
}

@ -26,8 +26,6 @@
<nz-select nzShowSearch nzAllowClear formControlName="rechargePlatform" nzPlaceHolder="请选择充值平台">
<nz-option nzLabel="尖椒" [nzValue]="1"></nz-option>
<nz-option nzLabel="龙阅" [nzValue]="2"></nz-option>
<nz-option nzLabel="嗨购" [nzValue]="4"></nz-option>
<nz-option nzLabel="简牛" [nzValue]="5"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>

@ -3,23 +3,23 @@
<!-- end 面包屑 -->
<div class="inner-content">
<form nz-form [formGroup]="searchForm" (ngSubmit)="getData()">
<form nz-form [formGroup]="searchForm" (ngSubmit)="search(searchForm.value)">
<div nz-row>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">业务类型</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-select ngModel="10" formControlName="usingRange" (ngModelChange)="getCouponSalesPrice()">
<nz-option *ngFor="let item of usingRangeArray" nzValue="{{item.codeValue}}" nzLabel="{{item.codeName}}"></nz-option>
<nz-select ngModel="4" formControlName="couponSource" (ngModelChange)="getCouponSalesPrice()">
<nz-option *ngFor="let item of couponSourceArray" nzValue="{{item.codeValue}}" nzLabel="{{item.codeName}}"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="8">面值</nz-form-label>
<nz-form-label [nzSpan]="8">卡券销售面值</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-select formControlName="price">
<nz-select formControlName="salesPrice">
<nz-option nzValue="null" nzLabel="全部" ></nz-option>
<nz-option *ngFor="let item of salesPriceArray" nzValue="{{item.codeValue}}" nzLabel="{{item.codeName}}" ></nz-option>
</nz-select>
@ -27,108 +27,38 @@
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<button nz-button nzType="primary"><i nz-icon nzType="search" nzTheme="outline"></i>筛选</button>
</div>
</div>
</form>
</div>
<div class="inner-content">
<article nz-typography>
<p>
<span nz-typography nzType="warning"><strong>汇总:</strong></span>
总数量 <span nz-typography nzType="warning"><strong>{{countObject.batchNum}}</strong></span>
使用数量 <span nz-typography nzType="warning"><strong>{{countObject.useNum}}</strong></span>
使用金额 <span nz-typography nzType="warning"><strong>{{countObject.usePrice}}</strong></span> 元、
使用率 <span nz-typography nzType="warning"><strong>{{countObject.useRate}}</strong></span> %
<span>
(推送数量 <span nz-typography nzType="warning"><strong>{{countObject.sendNum}}</strong></span>
推送金额 <span nz-typography nzType="warning"><strong>{{countObject.sendPrice}}</strong></span> 元)
</span>
</p>
</article>
<nz-table #basicTable
nzBordered
[nzFrontPagination]="false"
[nzData]="dataObject.list"
[nzTotal]="dataObject.total"
[nzLoading]="tableLoading"
(nzPageIndexChange)="pageIndexChange($event)"
[nzScroll]="{ x: '1500px'}"
>
<thead>
<tr>
<th nzWidth="60px">批次</th>
<th nzWidth="120px">名称</th>
<th nzWidth="110px">编码区间</th>
<th nzWidth="100px">制作时间</th>
<th nzWidth="80px">过期时间</th>
<th nzWidth="60px">批次数量</th>
<th nzWidth="60px">已领取</th>
<th nzWidth="60px">已推送</th>
<th nzWidth="60px">已使用</th>
<th nzWidth="50px">使用率</th>
<th nzWidth="70px" nzRight>操作</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let data of basicTable.data">
<td>{{ data.batchIdentifier }}</td>
<td>{{ data.discountName }}</td>
<td>{{ data.codeStart + ' - ' + data.codeEnd}}</td>
<td>{{ data.createTime | date: 'yyyy-MM-dd HH:mm'}}</td>
<td><span *ngIf="data.mailTime != null">{{ data.mailTime | date: 'yyyy-MM-dd'}}</span></td>
<td>{{ (data.batchNum!=null?data.batchNum:0)}}</td>
<td>{{ (data.receiveNum!=null?data.receiveNum:0)}}</td>
<td>{{ (data.sendNum!=null?data.sendNum:0)}}</td>
<td>{{ (data.useNum!=null?data.useNum:0)}}</td>
<td>{{ (data.useRate!=null?data.useRate:0) + '%' }}</td>
<td nzRight>
<a nz-dropdown [nzDropdownMenu]="menu">
操作列表
<i nz-icon nzType="down"></i>
</a>
<nz-dropdown-menu #menu="nzDropdownMenu">
<ul nz-menu nzSelectable>
<li nz-menu-item (click)="openModifyModal(data.batchIdentifier)">批次调整</li>
</ul>
</nz-dropdown-menu>
</td>
</tr>
</tbody>
</nz-table>
</div>
<nz-modal [(nzVisible)]="modifyModal" nzTitle="批次调整" [nzBodyStyle]="{ padding: '2px'}" (nzOnCancel)="closeModifyModal()" [nzFooter]="null">
<nz-tabset [nzSize]="'small'" [nzTabBarStyle]="{ padding : '0px 0px 10px 10px' }" >
<nz-tab nzTitle="批次数量">
<form nz-form [formGroup]="modifyForm" (ngSubmit)="submitModify()">
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired>数量调整</nz-form-label>
<nz-form-label [nzSpan]="8">状态</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-input-number formControlName="batchNum"></nz-input-number>
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-control style="text-align: center;" >
<button nz-button nzType="primary" style="width:150px;">提交</button>
<nz-select formControlName="status">
<nz-option nzValue="null" nzLabel="全部"></nz-option>
<nz-option *ngFor="let item of statusArray" nzValue="{{item.codeValue}}" nzLabel="{{item.codeName}}"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
</form>
</nz-tab>
<nz-tab nzTitle="过期时间">
<form nz-form [formGroup]="modifyForm" (ngSubmit)="submitModify()">
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired>过期时间</nz-form-label>
<nz-form-label [nzSpan]="8">销售起止时间</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-date-picker formControlName="mailTime"></nz-date-picker>
<nz-date-picker formControlName="salesTimeS" style="width: 100%;"></nz-date-picker>
</nz-form-control>
</nz-form-item>
</div>
<div nz-col nzSpan="8">
<nz-form-item>
<nz-form-control style="text-align: center;" >
<button nz-button nzType="primary" style="width:150px;" sh>提交</button>
<nz-form-label [nzSpan]="8">销售结束时间</nz-form-label>
<nz-form-control [nzSpan]="14">
<nz-date-picker formControlName="salesTimeE" style="width: 100%;"></nz-date-picker>
</nz-form-control>
</nz-form-item>
</form>
</nz-tab>
</nz-tabset>
</nz-modal>
</div>
<div nz-col nzSpan="8">
<button nz-button nzType="primary"><i nz-icon nzType="search" nzTheme="outline"></i>筛选</button>
</div>
</div>
</form>
</div>
<div class="inner-content">
<div echarts [options]="dataObject"></div>
</div>

@ -1,6 +0,0 @@
nz-date-picker {
width: 100%;
}
nz-input-number {
width: 100%;
}

@ -1,8 +1,6 @@
import { Component, OnInit } from '@angular/core';
import {FormBuilder, FormGroup, Validators} from '@angular/forms';
import {FormBuilder, FormGroup} from '@angular/forms';
import {CouponService} from '../../../services/coupon.service';
import {DiscountService} from '../../../services/discount.service';
import {NzModalService} from 'ng-zorro-antd';
@Component({
selector: 'app-coupon-use',
@ -10,69 +8,147 @@ import {NzModalService} from 'ng-zorro-antd';
styleUrls: ['./coupon-use.component.scss']
})
export class CouponUseComponent implements OnInit {
tableLoading = true;
countObject: any = {
batchNum: 0,
useNum: 0,
usePrice: 0,
useRate: 0,
};
dataObject: any = {};
usingRangeArray = [
{ codeValue: 10, codeName: '贵州中石化'},
{ codeValue: 8, codeName: '重庆中石油'},
dataObject: {};
couponSourceArray = [
{ codeValue: 4, codeName: '贵州中石化'},
{ codeValue: 5, codeName: '重庆中石油'},
]
statusArray = [
{ codeValue: 20, codeName: '未使用'},
{ codeValue: 40, codeName: '已使用'},
]
salesPriceArray = [];
searchForm: FormGroup;
whereObject: any = {};
pageNum = 1;
pageSize = 10;
modifyModal = false;
batchObject = {};
modifyForm: FormGroup;
constructor(private form: FormBuilder,
private modal: NzModalService,
private couponService: CouponService,
private discountService: DiscountService,
) { }
private couponService: CouponService) { }
ngOnInit(): void {
let salesTimeS = new Date();
salesTimeS.setDate(salesTimeS.getDate() - 7)
salesTimeS.setHours(0);
salesTimeS.setMinutes(0);
salesTimeS.setSeconds(0);
let salesTimeE = new Date();
salesTimeE.setHours(23);
salesTimeE.setMinutes(59);
salesTimeE.setSeconds(59);
this.searchForm = this.form.group({
usingRange: [String(this.usingRangeArray[0].codeValue)],
price: ['null'],
});
this.modifyForm = this.form.group({
batchIdentifier: [null, [Validators.required]],
mailTime: [null],
batchNum: [null],
couponSource: [String(this.couponSourceArray[0].codeValue)],
salesPrice: ['null'],
status: ['null'],
salesTimeS: [salesTimeS.getTime()],
salesTimeE: [salesTimeE.getTime()],
});
this.getCouponSalesPrice();
}
getData() {
this.tableLoading = true;
const param = this.searchForm.value;
if (this.searchForm.controls['price'].value == 'null') {
param['price'] = null;
if (this.searchForm.controls['salesPrice'].value == 'null') {
param['salesPrice'] = null;
}
if (this.searchForm.controls['status'].value == 'null') {
param['status'] = null;
}
param['pageNum'] = this.pageNum;
param['pageSize'] = this.pageSize;
this.couponService.getCount(param,response => {
const returnData = response['return_data'];
if (returnData != null) {
this.countObject = returnData;
} else {
this.countObject.batchNum = 0;
this.countObject.useNum = 0;
this.countObject.usePrice = 0;
this.countObject.useRate = 0;
this.couponService.useCouponStatistics(param, response => {
let returnData = response['return_data'];
var dataArray = [];
for (let obj of returnData['salesPriceList']) {
dataArray.push({
value: obj['count'],
name: obj['salesPrice'] + '【' + (obj['status']===20?'未使用':'已使用') + '】',
});
}
this.dataObject = {
title: {
text: this.couponSourceArray.find(o => o.codeValue == this.searchForm.controls['couponSource']['value']).codeName,
left: 'center'
},
tooltip: {
trigger: 'item'
},
legend: {
orient: 'vertical',
left: 'left'
},
series: [
{
name: '',
type: 'pie',
radius: '50%',
data: dataArray,
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
},
/*label: {
formatter: '{a|{a}}{abg|}\n{hr|}\n {b|{b}:}{c} {per|{d}%} ',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
a: {
color: '#6E7079',
lineHeight: 22,
align: 'center'
},
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize: 14,
fontWeight: 'bold',
lineHeight: 33
},
per: {
color: '#fff',
backgroundColor: '#4C5058',
padding: [3, 4],
borderRadius: 4
}
}
},*/
}
]
};
});
this.couponService.getBatchUseCount(param, response => {
this.dataObject = response['return_data'];
this.tableLoading = false;
});
}
/**
*
* @param whereObject
*/
search(whereObject: object) {
if (this.searchForm.controls['salesTimeS'].value != null) {
this.searchForm.controls['salesTimeS'].setValue(new Date(this.searchForm.controls['salesTimeS'].value).getTime());
}
if (this.searchForm.controls['salesTimeE'].value != null) {
this.searchForm.controls['salesTimeE'].setValue(new Date(this.searchForm.controls['salesTimeE'].value).getTime());
}
this.getData();
}
/**
*
*/
resetForm(): void {
this.searchForm.reset();
this.searchForm.controls['couponSource'].setValue(String(this.couponSourceArray[0].codeValue));
}
/**
@ -80,50 +156,12 @@ export class CouponUseComponent implements OnInit {
*/
getCouponSalesPrice() {
this.salesPriceArray = [];
this.discountService.getDiscountPrice(this.searchForm.controls['usingRange'].value, data => {
this.couponService.getCouponSalesPrice({couponSource : this.searchForm.controls['couponSource'].value}, data => {
for (let obj of data['return_data']) {
this.salesPriceArray.push({ codeValue: obj, codeName: obj});
}
this.searchForm.controls['price'].setValue('null');
this.getData();
});
}
pageIndexChange(pageNum: number) {
this.pageNum = pageNum;
this.getData();
}
openModifyModal(batchIdentifier: string) {
this.discountService.getBatchDetail(batchIdentifier, data => {
this.batchObject = data['return_data'];
this.modifyForm.controls['batchIdentifier'].setValue(this.batchObject['batchIdentifier']);
});
this.modifyModal = true;
}
submitModify() {
this.discountService.replenish(this.modifyForm.value, data => {
if (data['return_code'] === '000000') {
this.modal.success({
nzTitle: '提示',
nzContent: '提交成功',
});
this.searchForm.controls['salesPrice'].setValue('null');
this.getData();
this.closeModifyModal();
} else {
this.modal.error({
nzTitle: '提示',
nzContent: data['return_msg'],
});
}
});
}
closeModifyModal() {
this.modifyForm.reset();
this.modifyModal = false;
}
}

@ -1,4 +1,4 @@
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.3.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css">
<!--面包屑-->
<nz-breadcrumb>

@ -32,7 +32,6 @@
<span>共计 {{total}} 条数据</span>
<div class="operating-button">
<button nz-button nzType="primary" class="right-btn" (click)="showTripartitePlatformModal()" >渠道支付配置</button>
<button nz-button nzType="primary" class="right-btn" (click)="showConfigOilCard()" >油卡充值配置</button>
<button nz-button nzType="primary" class="right-btn" (click)="getAdd()" >添加油品优惠</button>
</div>
<nz-table
@ -120,7 +119,6 @@
<nz-form-control [nzSpan]="14">
<nz-select formControlName="payPlatformType">
<nz-option nzValue="1" nzLabel="微信"></nz-option>
<nz-option nzValue="2" nzLabel="惠支付"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
@ -138,12 +136,6 @@
<input nz-input placeholder="请输入第三方平台商户号" formControlName="payPlatformMerNo" />
</nz-form-control>
</nz-form-item>
<nz-form-item *ngIf="tripartitePlatformForm.value.payPlatformType == '2'">
<nz-form-label [nzSpan]="6" nzRequired >商户KEY</nz-form-label>
<nz-form-control [nzSpan]="14">
<input nz-input placeholder="请输入第三方平台商户KEY" formControlName="payPlatformKey" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSpan]="6" nzRequired >是否分账</nz-form-label>
@ -182,24 +174,20 @@
</form>
</nz-modal>
<nz-modal [(nzVisible)]="configOilCardRechargeModal" nzTitle="油卡充值配置" (nzOnCancel)="closeConfigOilCard()" (nzOnOk)="submitConfigOilCard()"
[nzBodyStyle]="{ padding: '0px 20px 0px'}" >
<nz-tabset>
<nz-tab nzTitle="充值赠送比例">
<form nz-form [formGroup]="configOilCardRechargeForm">
<div nz-row>
<div nz-col [nzSpan]="22">
<nz-form-item>
<nz-form-label nzRequired>赠送比例</nz-form-label>
<nz-form-control>
<nz-input-group nzAddOnAfter="%">
<nz-input-number [nzPrecision]="2" [nzMax]="500" [nzMin]="0" formControlName="codeValue"></nz-input-number>
</nz-input-group>
</nz-form-control>
</nz-form-item>
</div>
</div>
</form>
</nz-tab>
</nz-tabset>
</nz-modal>
<!--
<nz-modal [(nzVisible)]="configOilMerNumModal" nzTitle="配置商户号" (nzOnCancel)="closeConfigOilMerNum()" (nzOnOk)="submitConfigOilMerNum()">
<form nz-form [formGroup]="configOilMerNumForm">
<div nz-row>
<div nz-col [nzSpan]="22">
<nz-form-item>
<nz-form-label nzRequired>商户号</nz-form-label>
<nz-form-control>
<nz-input-group>
<input nz-input formControlName="codeValue" [placeholder]="'加油站订单入账商户号'" />
</nz-input-group>
</nz-form-control>
</nz-form-item>
</div>
</div>
</form>
</nz-modal>-->

@ -27,8 +27,8 @@ export class OilsDiscountComponent implements OnInit {
roleTypeArray;
gasChannelConfigChannelArray = [];
configOilCardRechargeModal = false;
configOilCardRechargeForm: FormGroup;
configOilMerNumModal = false;
configOilMerNumForm: FormGroup;
channelId = '1';
tripartitePlatformModal = false;
@ -66,8 +66,8 @@ export class OilsDiscountComponent implements OnInit {
priceRate: [null],
});
this.configOilCardRechargeForm = this.form.group({
codeType: ['OIL_CARD_RECHARGE_RATIO'],
this.configOilMerNumForm = this.form.group({
codeType: ['OIL_WX_MER'],
codeValue: [null, [Validators.required]],
});
@ -76,7 +76,6 @@ export class OilsDiscountComponent implements OnInit {
payPlatformMerName: [null, [Validators.required]],
payPlatformMerNo: [null, [Validators.required]],
profitSharingStatus: ['false', [Validators.required]],
payPlatformKey: [null],
profitSharingRatio: [null],
profitSharingReceiversNo: [null],
profitSharingReceiversName: [null],
@ -149,23 +148,23 @@ export class OilsDiscountComponent implements OnInit {
this.isVisible = false;
}
showConfigOilCard() {
this.common.mappingSysNameOl('OIL_CARD_RECHARGE_RATIO', data => {
this.configOilCardRechargeForm.patchValue(data['return_data']);
showConfigOilMerNum() {
this.common.mappingSysNameOl('OIL_WX_MER', data => {
this.configOilMerNumForm.patchValue(data['return_data']);
});
this.configOilCardRechargeModal = true;
this.configOilMerNumModal = true;
}
closeConfigOilCard() {
this.configOilCardRechargeModal = false;
closeConfigOilMerNum() {
this.configOilMerNumModal = false;
}
submitConfigOilCard() {
for (const i in this.configOilCardRechargeForm.controls) {
this.configOilCardRechargeForm.controls[i].markAsDirty();
this.configOilCardRechargeForm.controls[i].updateValueAndValidity();
submitConfigOilMerNum() {
for (const i in this.configOilMerNumForm.controls) {
this.configOilMerNumForm.controls[i].markAsDirty();
this.configOilMerNumForm.controls[i].updateValueAndValidity();
}
if (this.configOilCardRechargeForm.status == null || this.configOilCardRechargeForm.status !== 'VALID') {
if (this.configOilMerNumForm.status == null || this.configOilMerNumForm.status !== 'VALID') {
this.modal.warning({
nzTitle: '提示',
nzContent: '请填写所有必填项',
@ -173,13 +172,13 @@ export class OilsDiscountComponent implements OnInit {
return;
}
this.common.editConfig(this.configOilCardRechargeForm.value, data => {
this.common.editConfig(this.configOilMerNumForm.value, data => {
if (data['return_code'] === '000000') {
this.modal.success({
nzTitle: '提示',
nzContent: '操作成功',
});
this.closeConfigOilCard();
this.closeConfigOilMerNum();
} else {
this.modal.error({
nzTitle: '提示',
@ -189,7 +188,6 @@ export class OilsDiscountComponent implements OnInit {
});
}
// 打开配置第三方模态框
showTripartitePlatformModal () {
this.selectChannel(this.channelId);

@ -1,4 +1,4 @@
<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.3.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css">
<!--面包屑 -->
<nz-breadcrumb>
<nz-breadcrumb-item>

@ -150,7 +150,6 @@
<ul nz-menu nzSelectable>
<li *ngIf="(roleType == 5 && adminFlag == 1) || roleType == 8 || roleType == 9" nz-menu-item (click)="showDiscountConfigModal(data.storeId)">优惠配置</li>
<li *ngIf="roleType == 5 && adminFlag == 1" (click)="showOilConfigModal(data.storeId)" nz-menu-item>油品配置</li>
<li *ngIf="data.sourceType == 7 && adminFlag == 1" (click)="showPriceRateModalSubmit(data.storeId)" nz-menu-item>上送价格比例配置</li>
</ul>
</nz-dropdown-menu>
</td>
@ -325,25 +324,5 @@
</div>
</form>
</nz-modal>
<nz-modal [(nzVisible)]="priceRateConfigModal" nzTitle="配置上送价折扣" (nzOnCancel)="priceRateConfigModal = false" nzWidth="350px" [nzBodyStyle]="{ padding: '10px 24px 24px 24px' }" [nzFooter]="null">
<div nz-row style="margin-top: 10px;">
<div nz-col [nzSpan]="24">
<nz-input-number
[(ngModel)]="priceRate"
[nzMin]="1"
[nzMax]="100"
[nzStep]="1"
[nzFormatter]="formatterPercent"
[nzParser]="parserPercent"
[nzPrecision]="2"
style="width: 100%;" >
</nz-input-number>
</div>
</div>
<div style="text-align: center;">
<button nz-button nzType="primary" style="margin-top: 15px;width: 150px;" (click)="submitPriceRateConfig()">保存</button>
</div>
</nz-modal>
</nz-spin>

@ -1,20 +1,20 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { OrderOilCardComponent } from './order-oil-card.component';
import { PetrolStationManageComponent } from './petrol-station-manage';
describe('OrderOilCardComponent', () => {
let component: OrderOilCardComponent;
let fixture: ComponentFixture<OrderOilCardComponent>;
describe('PetrolStationManageComponent', () => {
let component: PetrolStationManageComponent;
let fixture: ComponentFixture<PetrolStationManageComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ OrderOilCardComponent ]
declarations: [ PetrolStationManageComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(OrderOilCardComponent);
fixture = TestBed.createComponent(PetrolStationManageComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

@ -58,16 +58,14 @@ export class PetrolStationManageComponent implements OnInit {
discountConfigData: PetrolStationManage[] = [];
oilConfigModal = false;
priceRateConfigModal = false;
oilNoArray = [];
priceRate = 100;
storeId;
formatterPercent = (value: number) => `${value} %`;
parserPercent = (value: string) => value.replace(' %', '');
formatterPercent = (value: number) => `${value}`;
parserPercent = (value: string) => value.replace(' 折', '');
constructor(private modal: NzModalService,
private common: CommonsService,
private message: NzMessageService,
private tyAgentService: TyAgentService,
private commonsService: CommonsService,
private gasService: GasService,
@ -180,29 +178,6 @@ export class PetrolStationManageComponent implements OnInit {
this.assignOrgModal = true;
}
submitPriceRateConfig() {
let data = {
"codeType": this.storeId,
"codeValue": this.priceRate
}
this.common.editConfig(data, data => {
if (data['return_code'] === '000000') {
this.modal.success({
nzTitle: '提示',
nzContent: '操作成功',
});
this.getOilStationPrice(this.storeId);
this.priceRateConfigModal = false;
} else {
this.modal.error({
nzTitle: '提示',
nzContent: data['return_msg'],
});
}
});
}
/**
*
*/
@ -792,14 +767,6 @@ export class PetrolStationManageComponent implements OnInit {
this.oilConfigModal = true;
}
showPriceRateModalSubmit(storeId) {
this.priceRateConfigModal = true;
this.storeId = storeId;
this.commonsService.mappingSysNameOl(storeId, data => {
this.priceRate = data['return_data']['codeValue'];
});
}
/**
*
*/

@ -25,8 +25,6 @@ import {
DiscountStatusPipe,
DisplayAreaPipe,
DiscountCodeStatusPipe,
DiscountCodeStatusPipe2,
PhoneTranslate,
RechargePricePipe,
RechargeStatusPipe,
ChannelMarkPipe,
@ -83,7 +81,6 @@ import {MsgTypePipe} from './pipes/msg/msg-type.pipe';
import { OrderProductTypePipe } from './pipes/order/order-product-type.pipe';
import { LogisticsStatusPipe } from './pipes/goods/logistics-status.pipe';
import { GoodsStatusPipe } from './pipes/goods/goods-status.pipe';
import { ScPrinterPipe } from './pipes/api-coupon/sc-printer.pipe';
@ -102,8 +99,6 @@ const PIPES = [
DiscountStatusPipe,
DisplayAreaPipe,
DiscountCodeStatusPipe,
DiscountCodeStatusPipe2,
PhoneTranslate,
RechargePricePipe,
RechargeStatusPipe,
ChannelMarkPipe,
@ -161,8 +156,7 @@ const PIPES = [
ReceiveTypePipe,
LogisticsStatusPipe,
OrderProductTypePipe,
GoodsStatusPipe,
ScPrinterPipe,
GoodsStatusPipe
];

@ -1,5 +1,5 @@
import {NgModule} from '@angular/core';
import {Routes, RouterModule} from '@angular/router';
import {Routes, RouterModule, RouteReuseStrategy} from '@angular/router';
import {NavigationComponent} from './admin/navigation/navigation.component';
import {InitGuardService} from './services/init-guard.service';

@ -17,8 +17,11 @@ import {NavigationModule} from './admin/navigation/navigation.module';
import {AppCommonModule} from './app-common.module';
import {NgxEchartsModule} from 'ngx-echarts';
import {HashLocationStrategy, LocationStrategy} from '@angular/common';
import {RouterModule} from '@angular/router';
registerLocaleData(zh);
@NgModule({
declarations: [
AppComponent,

@ -1,27 +0,0 @@
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'scPrinter'
})
export class ScPrinterPipe implements PipeTransform {
transform(value: number): unknown {
switch (Number(value)) {
case 4001:
return '油品券';
case 4002:
return '汽油券';
case 4003:
return '柴油券';
case 4004:
return '非油券';
case 4006:
return '异业券';
default:
return '其他'
}
}
}

@ -21,37 +21,3 @@ export class DiscountCodeStatusPipe implements PipeTransform {
}
}
@Pipe({
name: 'discountCodeStatus2'
})
export class DiscountCodeStatusPipe2 implements PipeTransform {
transform(value: number): string {
switch (value) {
case 0:
return '已过期';
case 1:
return '未使用';
case 2:
return '已使用';
}
}
}
@Pipe({
name: 'phoneTranslate'
})
export class PhoneTranslate implements PipeTransform {
transform(value: string): string {
if(value&&value.length==11){
return value.substring(0, 3) + "****"+value.substring(7, 11);
}else{
return value
}
}
}

@ -8,7 +8,7 @@ export class DisplayAreaPipe implements PipeTransform {
transform(value: any): string {
switch (value) {
case 1:
return '加油专区';
return '赠券专区';
case 2:
return '金币专区';
case 3:
@ -17,8 +17,6 @@ export class DisplayAreaPipe implements PipeTransform {
return '优选商品';
case 5:
return '工会卡专区';
case 7:
return '停车券专区';
case null:
return '消费券';
}

@ -63,4 +63,3 @@ export * from './apiMerchant/verify-product-type.pipe';
export * from './order/order-product-type.pipe';
export * from './goods/logistics-status.pipe';
export * from './goods/goods-status.pipe';
export * from './api-coupon/sc-printer.pipe';

@ -19,8 +19,6 @@ export class ProductConfigPipe implements PipeTransform {
return '在线加油接口';
case 'STARBUCKS_CONFIG':
return '星巴克接口';
case 'PETRO_COUPON':
return '中石油';
}
}

@ -27,21 +27,8 @@ export class OrderChildGoodsTypePipe implements PipeTransform {
return '星巴克';
case 10:
return '第三方充值';
case 11:
return '实物商品购买';
case 12:
return '比邻星停车券';
case 13:
return '比邻星停车';
case 14:
return '升级会员';
case 15:
return '个人油卡充值';
case 17:
return '团购套餐';
case 18:
return '中石油卡券';
case 12:
return '实物商品';
}
}
}

@ -24,8 +24,6 @@ export class OrderProductTypePipe implements PipeTransform {
return '汇联通充值';
case 9:
return '话费充值';
case 18:
return '中石油';
case 99:
return '商户充值';
default:

@ -20,10 +20,7 @@ export class RechargePlatformPipe implements PipeTransform {
string = string + '城宇,';
}
if (Number(i) === 4) {
string = string + '嗨购,';
}
if (Number(i) === 5) {
string = string + '简牛,';
string = string + '畅停,';
}
}

@ -10,13 +10,11 @@ export class ProductTypePipe implements PipeTransform {
2: ['肯德基'],
3: ['第三方产品'],
4: ['积分充值'],
5: ['中石化', '消费券', '其他卡券' , '贵州中石化' , '重庆中石油','停车券','四川中石油','贵州中石油'],
6: ['在线加油'],
5: ['中石化', '消费券', '其他卡券' , '贵州中石化' , '重庆中石油'],
6: [''],
7: ['优惠券包'],
8: ['汇联通充值'],
10: ['实物购买'],
16: ['个人油卡充值'],
17: ['团购套餐'],
};
transform(type: number , product: number): string {

@ -6,6 +6,7 @@ import {catchError, finalize} from 'rxjs/operators';
import {mergeMap} from 'rxjs/operators';
import {Observable} from 'rxjs';
import {NzMessageService} from 'ng-zorro-antd';
import {Router} from '@angular/router';
import {LocalStorageService} from './local-storage.service';
import {TOKEN} from './local-storage.namespace';
@ -13,6 +14,7 @@ import {TOKEN} from './local-storage.namespace';
export class InterceptorService implements HttpInterceptor {
constructor(
private message: NzMessageService,
private router: Router,
private storage: LocalStorageService,
) {
}

@ -191,46 +191,4 @@ export class AgentService {
callBack(data);
});
}
/*
*/
public distribute(params: object, callBack) {
this.http.post(environment.baseUrl + 'discountPackageAgent/distribute', params).subscribe(data => {
callBack(data);
});
}
public generateDiscountPackageAgentCode(params: object, callBack) {
this.http.post(environment.baseUrl + 'discountPackageAgent/generateDiscountPackageAgentCode', params).subscribe(data => {
callBack(data);
});
}
/*
*/
public getDiscountPackageList(paramsObject: object, callBack) {
this.http.get(environment.baseUrl + 'highDiscountPackage/getDiscountPackageList?' + this.common.getWhereCondition(paramsObject)).subscribe(data => {
callBack(data);
});
}
/* 获取优惠券包代理商关联列表 */
public getDiscountPackageAgentRelList(agentId: number, type: number , callBack) {
this.http.get(environment.baseUrl + 'discountPackageAgent/getDiscountPackageAgentRelList?agentId=' + agentId + '&type=' + type).subscribe(data => {
callBack(data);
});
}
/* 获取优惠券包代理商分发记录列表 */
public getDiscountPackageAgentRecord(paramsObject: object, callBack) {
this.http.get(environment.baseUrl + 'discountPackageAgent/getDiscountPackageAgentRecord?' + this.common.getWhereCondition(paramsObject)).subscribe(data => {
callBack(data);
});
}
}

@ -303,15 +303,4 @@ export class ApiProductService {
});
}
/**
* @description:
* @param {*} callBack
* @return {*}
*/
public jNiuGoodsList( callBack) {
this.http.get(environment.baseUrl + 'apiProduct/jNiuGoodsList').subscribe(data => {
callBack(data);
});
}
}

@ -178,17 +178,6 @@ export class CouponService {
});
}
/**
*
*
* @param callBack
*/
public synCouponRule(params: object, callBack) {
this.http.get(environment.baseUrl + 'apiCoupon/synCouponRule?' + this.common.getWhereCondition(params)).subscribe(data => {
callBack(data);
});
}
/**
@ -197,7 +186,7 @@ export class CouponService {
* @param id id
* @param callBack
*/
public getCouponSalesPrice(params: object, callBack) {
public getCouponSalesPrice(params: object, callBack) {
this.http.get(environment.baseUrl + 'coupon/getCouponSalesPrice?' + this.common.getWhereCondition(params)).subscribe(data => {
callBack(data);
});
@ -209,19 +198,8 @@ export class CouponService {
* @param id id
* @param callBack
*/
public getBatchUseCount(params: object, callBack) {
this.http.get(environment.baseUrl + 'discountAgentRel/getBatchUseCount?' + this.common.getWhereCondition(params)).subscribe(data => {
callBack(data);
});
}
/**
* 使
*
* @param id id
* @param callBack
*/
public getCount(params: object, callBack) {
this.http.get(environment.baseUrl + 'discountAgentRel/getCount?' + this.common.getWhereCondition(params)).subscribe(data => {
public useCouponStatistics(params: object, callBack) {
this.http.get(environment.baseUrl + 'couponStatistics/useCouponStatistics?' + this.common.getWhereCondition(params)).subscribe(data => {
callBack(data);
});
}

@ -140,40 +140,4 @@ export class DiscountService {
callBack(data);
});
}
/**
*
*
* @param id id
* @param callBack
*/
public replenish(param: object, callBack) {
this.http.post(environment.baseUrl + 'discountAgentBatch/replenish', param).subscribe(data => {
callBack(data);
});
}
/**
*
*
* @param id id
* @param callBack
*/
public getBatchDetail(batchIdentifier: string, callBack) {
this.http.get(environment.baseUrl + 'discountAgentBatch/getBatchDetail?batchIdentifier=' + batchIdentifier ).subscribe(data => {
callBack(data);
});
}
/**
*
*
* @param id id
* @param callBack
*/
public getDiscountPrice(usingRange: number, callBack) {
this.http.get(environment.baseUrl + 'discount/getDiscountPrice?usingRange=' + usingRange ).subscribe(data => {
callBack(data);
});
}
}

@ -66,25 +66,6 @@ export class IndexService {
});
}
public insertStoreOilCard(params: object, callBack) {
this.http.post(environment.baseUrl + 'highMerchantStore/insertStoreOilCard', params).subscribe(data => {
callBack(data);
});
}
public getStoreOilCardList(storeId: number, callBack) {
this.http.get(environment.baseUrl + 'highMerchantStore/getStoreOilCardList?storeId=' + storeId).subscribe(data => {
callBack(data);
});
}
public deleteStoreOilCard(id: number, callBack) {
this.http.get(environment.baseUrl + 'highMerchantStore/deleteStoreOilCard?id=' + id).subscribe(data => {
callBack(data);
});
}
/**
* @Author Sum1Dream
* @methodName addHLTBalance

@ -22,7 +22,7 @@ export class OrderService {
* @param callBack
*/
public print(orderId: number, printType: number, callBack) {
this.http.get(environment.baseUrl + 'highOrder/print?orderNo=' + orderId + '&printType=' + printType).subscribe(data => {
this.http.get(environment.baseUrl + 'highOrder/print?orderId=' + orderId + '&printType=' + printType).subscribe(data => {
callBack(data);
});
}
@ -333,35 +333,4 @@ export class OrderService {
callBack(data);
});
}
/**
*
* @param params
* @param callBack
*/
public getOilCardOrderList(params: object , callBack) {
this.http.get(environment.orderUrl + 'oilCard/getOilCardOrderList?' + this.common.getWhereCondition(params)).subscribe( data => {
callBack(data);
});
}
/**
*
* @param params
* @param callBack
*/
public exportOilCardOrder(params: object , callBack) {
this.http.get(environment.orderUrl + 'oilCard/exportOilCardOrder?' + this.common.getWhereCondition(params)).subscribe( data => {
callBack(data);
});
}
/*
*/
public getAgentDiscountList(param: object , callBack) {
this.http.get(environment.baseUrl + '/discount/getAgentDiscountList?'+ this.common.getWhereCondition(param)).subscribe( data => {
callBack(data);
});
}
}

@ -1,43 +0,0 @@
import { Injectable } from '@angular/core';
import {CommonsService} from '../commons.service';
import {environment} from '../../../environments/environment';
import {HttpClient} from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class OrderApiMerService {
constructor(
private http: HttpClient,
private common: CommonsService
) { }
/**
* @Author Sum1Dream
* @methodName getOrderKfcList
* @Description // 查询肯德基订单
* @Date 17:20 2022/10/27
* @Param param
*/
public getOrderList(param: object, callBack) {
this.http.get(environment.orderUrl + 'apiMerOrder/getOrderList?' + this.common.getWhereCondition(param)).subscribe(data => {
callBack(data);
});
}
/**
* @Author Sum1Dream
* @methodName getOrderDetail
* @Description // 根据订单号查询订单详情
* @Date 14:38 2022/10/28
* @Param orderNo: string, callBack
*/
public getOrderDetail(orderNo: string, callBack) {
this.http.get(environment.orderUrl + 'apiMerOrder/getOrderDetail?orderNo=' + orderNo).subscribe(data => {
callBack(data);
});
}
}

@ -4,11 +4,12 @@
export const environment = {
production: false,
// baseUrl: 'http://localhost:9302/brest/', // 测试环境服务器地址(请求数据地址)
// orderUrl: 'http://localhost:9304/order/', // 测试环境服务器地址(请求数据地址)
baseUrl: 'https://hsgcs.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址)
baseUrl: 'http://localhost:9302/brest/', // 测试环境服务器地址(请求数据地址)
orderUrl: 'http://localhost:9304/order/', // 测试环境服务器地址(请求数据地址)
// baseUrl: 'https://hsgcs.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址)
// baseUrl: 'https://hsg.dctpay.com/brest/', // 正式环境服务器地址(请求数据地址)
// orderUrl: 'https://hsg.dctpay.com/order/', // 测试环境服务器地址(请求数据地址)
orderUrl: 'https://hsgcs.dctpay.com/order/', // 测试环境服务器地址(请求数据地址)
// orderUrl: 'https://hsgcs.dctpay.com/order/', // 测试环境服务器地址(请求数据地址)
imageUrl: 'https://hsgcs.dctpay.com/filesystem/',
key: 'https://hsgcs.dctpay.com/phone-recharge-H5/index.html?codeValue=',
inviteUrl: 'https://hsgcs.dctpay.com/wx/?action=ic&id=',

@ -5,10 +5,9 @@
<title>嗨森逛</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="text/javascript"> window._AMapSecurityConfig = { securityJsCode: "37b349dfe13d46c1ed56c41ee347cddb", }; </script>
<script src="https://webapi.amap.com/maps?v=1.4.3&key=09db9ab180c8c1a9eaf778801be1da9d&plugin=AMap.ToolBar,AMap.Autocomplete,AMap.PlaceSearch"></script>
<script src="https://webapi.amap.com/maps?v=1.4.3&key=3a42e959c2a1e1d76e691bc1cc25a0b0&plugin=AMap.ToolBar,AMap.Autocomplete,AMap.PlaceSearch"></script>
<script src="//webapi.amap.com/ui/1.1/main.js"></script>
<link rel="icon" type="image/x-icon" href="./favicon.ico">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<app-root></app-root>

Loading…
Cancel
Save