Browse Source

单位管理

seimin 1 year ago
parent
commit
b79cbb796d

+ 1 - 1
src/app/views/barcode-prefabrication/barcode-prefabrication.component.ts

@@ -148,7 +148,7 @@ export class BarcodePrefabricationComponent implements OnInit {
148 148
       hosId: that.hosId,
149 149
     };
150 150
     if (!that.add) {
151
-      data = {...data, ...this.coopData};
151
+      data = {...this.coopData, ...data};
152 152
     }
153 153
     that.mainService
154 154
       .simplePost("addData", "precastCode", data)

+ 5 - 0
src/app/views/main/main-routing.module.ts

@@ -413,6 +413,11 @@ const routes: Routes = [
413 413
         path: "barcodePrefabrication",
414 414
         loadChildren: () => import("../barcode-prefabrication/barcode-prefabrication.module").then((m) => m.BarcodePrefabricationModule),
415 415
       },
416
+      // 单位管理
417
+      {
418
+        path: "unitManagement",
419
+        loadChildren: () => import("../unit-management/unit-management.module").then((m) => m.UnitManagementModule),
420
+      },
416 421
     ],
417 422
   },
418 423
 ];

+ 1 - 1
src/app/views/serial-number-setting/serial-number-setting.component.ts

@@ -155,7 +155,7 @@ export class SerialNumberSettingComponent implements OnInit {
155 155
       hosId: that.hosId,
156 156
     };
157 157
     if (!that.add) {
158
-      data = {...data, ...this.coopData};
158
+      data = {...this.coopData, ...data};
159 159
     }
160 160
     that.mainService
161 161
       .simplePost("addData", "serialnumberConfig", data)

+ 17 - 0
src/app/views/unit-management/unit-management-routing.module.ts

@@ -0,0 +1,17 @@
1
+import { NgModule } from '@angular/core';
2
+import { Routes, RouterModule } from '@angular/router';
3
+import { UnitManagementComponent } from './unit-management.component';
4
+
5
+
6
+const routes: Routes = [
7
+  {
8
+    path: '',
9
+    component: UnitManagementComponent,
10
+  }
11
+];
12
+
13
+@NgModule({
14
+  imports: [RouterModule.forChild(routes)],
15
+  exports: [RouterModule]
16
+})
17
+export class UnitManagementRoutingModule { }

+ 208 - 0
src/app/views/unit-management/unit-management.component.html

@@ -0,0 +1,208 @@
1
+<div class="list-template">
2
+  <div class="list-template__content">
3
+    <div class="list-template__top" nz-row>
4
+      <div nz-col nzXl='18' class="list-template__searchBox"></div>
5
+      <div nz-col nzXl='6' class="list-template__btns">
6
+        <button nz-button *ngIf="coopBtns.add" class="btn ml8 default" (click)="showModal()">新增</button>
7
+      </div>
8
+    </div>
9
+    <div class="list-template__bottom">
10
+      <nz-table class="list-template__nzTable" [nzData]="listOfData" nzSize="middle" [nzShowPagination]="false"
11
+        [nzLoading]="loading1">
12
+        <thead>
13
+          <tr class="thead">
14
+            <th nzWidth="16%">单位名称</th>
15
+            <th nzWidth="16%">单位类型</th>
16
+            <th nzWidth="16%">联系人</th>
17
+            <th nzWidth="16%">联系电话</th>
18
+            <th nzWidth="16%">单位地址</th>
19
+            <th nzWidth="20%">操作</th>
20
+          </tr>
21
+        </thead>
22
+        <tbody>
23
+          <tr *ngFor="let data of listOfData;let index=index;">
24
+            <td>{{ data.name }}</td>
25
+            <td>{{ data.transType ? data.transType.name : '' }}</td>
26
+            <td>{{ data.contacts }}</td>
27
+            <td>{{ data.mphone }}</td>
28
+            <td>{{ data.address }}</td>
29
+            <td>
30
+              <div class="coop">
31
+                <span *ngIf="coopBtns.edit" (click)="edit(data)">修改</span>
32
+                <span *ngIf="coopBtns.del" (click)="del(data)">删除</span>
33
+              </div>
34
+            </td>
35
+          </tr>
36
+        </tbody>
37
+      </nz-table>
38
+      <div class="list-template__pagination">
39
+        <nz-pagination [(nzPageIndex)]="pageIndex" [(nzTotal)]="listLength" nzShowSizeChanger [(nzPageSize)]="pageSize"
40
+          (nzPageIndexChange)="getList()" (nzPageSizeChange)="getList()">
41
+        </nz-pagination>
42
+      </div>
43
+    </div>
44
+  </div>
45
+</div>
46
+<!-- 新增/编辑模态框 -->
47
+<div class="save add display_flex align-items_center justify-content_flex-center" *ngIf="modal">
48
+  <div class="modalBody">
49
+    <div class="title">{{add?"新增":"编辑"}}单位管理<i class="icon_transport transport-guanbi" (click)="hideModal()"></i>
50
+    </div>
51
+    <overlay-scrollbars #osComponentRef1 class="content">
52
+      <form nz-form [formGroup]="validateForm" class="addForm" (ngSubmit)="submitForm()">
53
+        <nz-form-item>
54
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="name">单位名称</nz-form-label>
55
+          <nz-form-control nzErrorTip="请填写单位名称!">
56
+            <nz-input-group>
57
+              <input nz-input formControlName="name" placeholder="请填写单位名称" />
58
+            </nz-input-group>
59
+          </nz-form-control>
60
+        </nz-form-item>
61
+        <nz-form-item>
62
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="transType">单位类型</nz-form-label>
63
+          <nz-form-control nzErrorTip="请选择单位类型!">
64
+            <nz-select [nzDropdownMatchSelectWidth]="false" nzShowSearch nzAllowClear
65
+              formControlName="transType" nzPlaceHolder="请选择单位类型" (ngModelChange)="transTypeChange()">
66
+              <nz-option [nzLabel]="data.name" [nzValue]="data.id" *ngFor="let data of transTypes">
67
+              </nz-option>
68
+            </nz-select>
69
+          </nz-form-control>
70
+        </nz-form-item>
71
+        <nz-form-item>
72
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="contacts">联系人</nz-form-label>
73
+          <nz-form-control nzErrorTip="请填写联系人!">
74
+            <nz-input-group>
75
+              <input nz-input formControlName="contacts" placeholder="请填写联系人" />
76
+            </nz-input-group>
77
+          </nz-form-control>
78
+        </nz-form-item>
79
+        <nz-form-item>
80
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="mphone">联系电话</nz-form-label>
81
+          <nz-form-control nzErrorTip="请填写联系电话!">
82
+            <nz-input-group>
83
+              <input nz-input formControlName="mphone" placeholder="请填写联系电话" />
84
+            </nz-input-group>
85
+          </nz-form-control>
86
+        </nz-form-item>
87
+        <!-- 司机信息 -->
88
+        <ng-container *ngIf="isShowDateType">
89
+          <div nz-row>
90
+            <div nz-col nzSpan="10">
91
+              <nz-form-item style="margin: 0;">
92
+                <nz-form-label [nzSm]="24" [nzXs]="24" nzRequired nzFor="laborerName0">司机信息</nz-form-label>
93
+                <nz-form-control nzErrorTip="请输入司机姓名!">
94
+                  <nz-input-group>
95
+                    <input nz-input formControlName="laborerName0" placeholder="请输入司机姓名" />
96
+                  </nz-input-group>
97
+                </nz-form-control>
98
+              </nz-form-item>
99
+            </div>
100
+            <div nz-col nzSpan="10" nzOffset="1">
101
+              <nz-form-item style="margin: 0;">
102
+                <nz-form-label [nzSm]="24" [nzXs]="24" nzRequired nzFor="laborerPhone0" style="opacity: 0;">司机联系电话</nz-form-label>
103
+                <nz-form-control nzErrorTip="请输入司机联系电话!">
104
+                  <nz-input-group>
105
+                    <input nz-input formControlName="laborerPhone0" placeholder="请输入司机联系电话" />
106
+                  </nz-input-group>
107
+                </nz-form-control>
108
+              </nz-form-item>
109
+            </div>
110
+          </div>
111
+          <div nz-row *ngFor="let item of laborers;let index = index">
112
+            <div nz-col nzSpan="10">
113
+              <nz-form-item style="margin: 0;">
114
+                <nz-form-label [nzSm]="24" [nzXs]="24" nzRequired [nzFor]="item[0].name" hidden>司机信息</nz-form-label>
115
+                <nz-form-control nzErrorTip="请输入司机姓名!">
116
+                  <nz-input-group>
117
+                    <input nz-input [formControlName]="item[0].name" placeholder="请输入司机姓名" [attr.id]="item[0].id" />
118
+                  </nz-input-group>
119
+                </nz-form-control>
120
+              </nz-form-item>
121
+            </div>
122
+            <div nz-col nzSpan="10" nzOffset="1">
123
+              <nz-form-item style="margin: 0;">
124
+                <nz-form-label [nzSm]="24" [nzXs]="24" nzRequired [nzFor]="item[1].name" hidden>司机联系电话</nz-form-label>
125
+                <nz-form-control nzErrorTip="请输入司机联系电话!">
126
+                  <nz-input-group>
127
+                    <input nz-input [formControlName]="item[1].name" placeholder="请输入司机联系电话" [attr.id]="item[1].id" />
128
+                  </nz-input-group>
129
+                </nz-form-control>
130
+              </nz-form-item>
131
+            </div>
132
+            <div nz-col nzSpan="2" nzOffset="1">
133
+              <i nz-icon nzType="minus-circle-o" (click)="removeLaborer(index, $event)" style="font-size:20px;cursor: pointer;margin-top: 10px;"></i>
134
+            </div>
135
+          </div>
136
+          <button nz-button nzType="dashed" class="add-button" (click)="addLaborer($event)">
137
+            <i nz-icon nzType="plus"></i>
138
+            添加司机信息
139
+          </button>
140
+        </ng-container>
141
+        <!-- 车牌号码 -->
142
+        <ng-container *ngIf="isShowDateType">
143
+          <div nz-row>
144
+            <div nz-col nzSpan="24">
145
+              <nz-form-item style="margin: 0;">
146
+                <nz-form-label [nzSm]="24" [nzXs]="24" nzRequired nzFor="carNo0">车牌号码</nz-form-label>
147
+                <nz-form-control nzErrorTip="请输入车牌号码!">
148
+                  <nz-input-group>
149
+                    <input nz-input formControlName="carNo0" placeholder="请输入车牌号码" />
150
+                  </nz-input-group>
151
+                </nz-form-control>
152
+              </nz-form-item>
153
+            </div>
154
+          </div>
155
+          <div nz-row *ngFor="let item of carNos;let index = index">
156
+            <div nz-col nzSpan="21">
157
+              <nz-form-item style="margin: 0;">
158
+                <nz-form-label [nzSm]="24" [nzXs]="24" nzRequired [nzFor]="item.name" hidden>车牌号码</nz-form-label>
159
+                <nz-form-control nzErrorTip="请输入车牌号码!">
160
+                  <nz-input-group>
161
+                    <input nz-input [formControlName]="item.name" placeholder="请输入车牌号码" [attr.id]="item.id" />
162
+                  </nz-input-group>
163
+                </nz-form-control>
164
+              </nz-form-item>
165
+            </div>
166
+            <div nz-col nzSpan="2" nzOffset="1">
167
+              <i nz-icon nzType="minus-circle-o" (click)="removeCarNo(index, $event)" style="font-size:20px;cursor: pointer;margin-top: 10px;"></i>
168
+            </div>
169
+          </div>
170
+          <button nz-button nzType="dashed" class="add-button" (click)="addCarNo($event)">
171
+            <i nz-icon nzType="plus"></i>
172
+            添加车牌号码
173
+          </button>
174
+        </ng-container>
175
+        <nz-form-item>
176
+          <nz-form-label [nzSm]="10" [nzXs]="24" nzFor="businessCode">{{isShowDateType ? '营运证件号' : '危险物经营许可证编号'}}</nz-form-label>
177
+          <nz-form-control nzErrorTip="请填写{{isShowDateType ? '营运证件号' : '危险物经营许可证编号'}}!">
178
+            <nz-input-group>
179
+              <input nz-input formControlName="businessCode" placeholder="请填写{{isShowDateType ? '营运证件号' : '危险物经营许可证编号'}}" />
180
+            </nz-input-group>
181
+          </nz-form-control>
182
+        </nz-form-item>
183
+        <nz-form-item>
184
+          <nz-form-label [nzSm]="6" [nzXs]="24" nzFor="address">单位地址</nz-form-label>
185
+          <nz-form-control nzErrorTip="请填写单位地址!">
186
+            <nz-input-group>
187
+              <input nz-input formControlName="address" placeholder="请填写单位地址" />
188
+            </nz-input-group>
189
+          </nz-form-control>
190
+        </nz-form-item>
191
+      </form>
192
+    </overlay-scrollbars>
193
+    <div class="display_flex justify-content_flex-center">
194
+      <button nzType="primary" nz-button (click)="submitForm()" [nzLoading]="btnLoading">确认</button>
195
+      <button class="btn cancel" nz-button nzType="default" (click)="hideModal()">取消</button>
196
+    </div>
197
+  </div>
198
+</div>
199
+<!-- 删除模态框 -->
200
+<app-dialog-delete [delModal]="delModal" (hideDelModalEvent)="hideDelModal()" [btnLoading]="btnLoading"
201
+  (confirmDelEvent)="confirmDel()" content="您确认要删除吗?">
202
+</app-dialog-delete>
203
+<!-- 操作成功/失败提示框 -->
204
+<app-prompt-modal *ngIf="promptModalShow" [content]="promptContent" [success]="ifSuccess" [show]="promptModalShow"
205
+  [info]="promptInfo"></app-prompt-modal>
206
+
207
+<!-- 遮罩 -->
208
+<app-mask *ngIf="maskFlag"></app-mask>

+ 127 - 0
src/app/views/unit-management/unit-management.component.less

@@ -0,0 +1,127 @@
1
+@import "../../../../src/theme.less";
2
+.save {
3
+  position: fixed;
4
+  left: 0;
5
+  top: 0;
6
+  width: 100%;
7
+  height: 100%;
8
+  background: rgba(0, 0, 0, 0.4);
9
+  z-index: 99;
10
+
11
+  .modalBody {
12
+    width: 350px;
13
+    background: #fff;
14
+    border-radius: 5px;
15
+    padding: 10px 20px;
16
+    color: #333;
17
+
18
+    .title {
19
+      width: 100%;
20
+      text-align: center;
21
+      font-size: 18px;
22
+      position: relative;
23
+
24
+      i {
25
+        position: absolute;
26
+        right: 0;
27
+        top: 0;
28
+        font-size: 20px;
29
+        color: #666;
30
+        cursor: pointer;
31
+        padding: 0 5px;
32
+      }
33
+    }
34
+
35
+    .content {
36
+      width: 100%;
37
+      height: 117px;
38
+      background: #f9fafb;
39
+      border: 1px solid #e5e9ed;
40
+      border-radius: 5px;
41
+      overflow: hidden;
42
+      margin-top: 12px;
43
+
44
+      div {
45
+        // text-align: center;
46
+        // margin: 0;
47
+
48
+        &.icon {
49
+          margin-top: 17px;
50
+
51
+          i {
52
+            color: #34b349;
53
+            font-size: 30px !important;
54
+
55
+            &.transport-wenhao {
56
+              color: #f5a523;
57
+            }
58
+
59
+            &.transport-shibai {
60
+              color: #ff3a52;
61
+            }
62
+          }
63
+        }
64
+
65
+        &.defeat {
66
+          color: #333;
67
+          font-size: 18px;
68
+        }
69
+
70
+        &:nth-child(3) {
71
+          font-size: 14px;
72
+          color: #666;
73
+        }
74
+      }
75
+    }
76
+
77
+    button {
78
+      margin-top: 10px;
79
+      margin-bottom: 10px;
80
+
81
+      &.btn {
82
+        margin-left: 8px;
83
+      }
84
+    }
85
+  }
86
+
87
+  // 新增
88
+  &.add {
89
+    .modalBody {
90
+      width: 480px;
91
+      height: auto;
92
+
93
+      .content {
94
+        width: 100%;
95
+        height: auto;
96
+        padding: 19px 14px;
97
+        max-height: 500px;
98
+        overflow-y: auto;
99
+
100
+        .addForm {
101
+          .ant-form-item {
102
+            margin-bottom: 8px;
103
+
104
+            .ant-form-item-label {
105
+              line-height: 14px;
106
+              text-align: left;
107
+            }
108
+          }
109
+        }
110
+
111
+        .editForm {
112
+          .ant-form-item {
113
+            margin-bottom: 14px;
114
+
115
+            .ant-form-item-label {
116
+              line-height: 0;
117
+            }
118
+          }
119
+        }
120
+      }
121
+
122
+      button:nth-child(1) {
123
+        margin-right: 20px;
124
+      }
125
+    }
126
+  }
127
+}

+ 346 - 0
src/app/views/unit-management/unit-management.component.ts

@@ -0,0 +1,346 @@
1
+import { Component, OnInit, ViewChild } from "@angular/core";
2
+import { ActivatedRoute, Router } from "@angular/router";
3
+import { FormBuilder, Validators, FormGroup, FormControl } from "@angular/forms";
4
+
5
+import { MainService } from "../../services/main.service";
6
+import { OverlayScrollbarsComponent } from "overlayscrollbars-ngx";
7
+import { ToolService } from "../../services/tool.service";
8
+import { NzMessageService } from "ng-zorro-antd";
9
+
10
+@Component({
11
+  selector: "app-unit-management",
12
+  templateUrl: "./unit-management.component.html",
13
+  styleUrls: ["./unit-management.component.less"],
14
+})
15
+export class UnitManagementComponent implements OnInit {
16
+  @ViewChild("osComponentRef1", {
17
+    read: OverlayScrollbarsComponent,
18
+    static: false,
19
+  })
20
+  osComponentRef1: OverlayScrollbarsComponent;
21
+  constructor(
22
+    private message: NzMessageService,
23
+    private fb: FormBuilder,
24
+    private route: ActivatedRoute,
25
+    private router: Router,
26
+    private mainService: MainService,
27
+    private tool: ToolService
28
+  ) {}
29
+
30
+  listOfData: any[] = []; //表格数据
31
+
32
+  modal: boolean = false; //新增/编辑模态框
33
+  add: boolean; //true:新增;false:编辑
34
+  validateForm: FormGroup; //新增/编辑表单
35
+  coopId: number; //表格中执行操作的id
36
+  hosId: any; //院区(搜索)
37
+  pageIndex: number = 1; //页码
38
+  listLength: number = 10; //总条数
39
+  pageSize: number = 10; //每页条数
40
+
41
+  promptContent: string; //操作提示框提示信息
42
+  ifSuccess: boolean; //操作成功/失败
43
+  promptInfo: string; //操作结果提示信息
44
+  promptModalShow: boolean; //操作提示框是否展示
45
+
46
+  btnLoading: boolean = false; //提交按钮loading状态
47
+  isShowDateType = false; //是否显示日期方案
48
+
49
+  ngOnInit() {
50
+    this.coopBtns = this.tool.initCoopBtns(this.route);
51
+    this.initForm();
52
+    this.getAllHospital();
53
+    this.getTransTypes();
54
+  }
55
+
56
+  // 初始化增删改按钮
57
+  coopBtns: any = {};
58
+  // 表格数据
59
+  loading1 = false;
60
+  getList() {
61
+    let data = {
62
+      idx: this.pageIndex - 1,
63
+      sum: this.pageSize,
64
+      company: {
65
+        hosId: this.hosId,
66
+      },
67
+    };
68
+    this.loading1 = true;
69
+    this.mainService
70
+      .getFetchDataList("simple/data", "company", data)
71
+      .subscribe((data) => {
72
+        this.loading1 = false;
73
+        this.listOfData = data.list;
74
+        this.listLength = data.totalNum;
75
+      });
76
+  }
77
+
78
+  // 获取相应的院区
79
+  getAllHospital() {
80
+    this.hosId = this.tool.getCurrentHospital().id;
81
+    this.getList();
82
+  }
83
+
84
+  // 获取单位类型
85
+  transTypes: Array<any> = [];
86
+  getTransTypes() {
87
+    var that = this;
88
+    that.mainService.getDictionary("list", "company_trans_type").subscribe((data) => {
89
+      that.transTypes = data;
90
+    });
91
+  }
92
+
93
+  // 新增弹框
94
+  showModal() {
95
+    this.add = true;
96
+    this.laborers = [];
97
+    this.carNos = [];
98
+    this.initForm();
99
+    this.modal = true;
100
+  }
101
+  hideModal() {
102
+    this.modal = false;
103
+    this.laborers = [];
104
+    this.carNos = [];
105
+    this.initForm();
106
+  }
107
+
108
+  // 初始化新增form表单
109
+  initForm() {
110
+    this.validateForm = this.fb.group({
111
+      name: [null, [Validators.required]],
112
+      transType: [null, [Validators.required]],
113
+      contacts: [null, [Validators.required]],
114
+      mphone: [null, [Validators.required]],
115
+      laborerName0: [null, [Validators.required]],
116
+      laborerPhone0: [null, [Validators.required]],
117
+      carNo0: [null, [Validators.required]],
118
+      businessCode: [null],
119
+      address: [null],
120
+    });
121
+  }
122
+  // 选择生成方案
123
+  transTypeChange(data) {
124
+    this.laborers.forEach((v, i) => {
125
+      this.removeLaborer(i);
126
+    })
127
+    this.carNos.forEach((v, i) => {
128
+      this.removeCarNo(i);
129
+    })
130
+    if(data){
131
+      if(data.laborers){
132
+        let arr:any[] = data.laborers || [];
133
+        this.validateForm.controls.laborerName0.setValue(arr[0].name);
134
+        this.validateForm.controls.laborerPhone0.setValue(arr[0].mphone);
135
+        if(arr.length > 1){
136
+          arr = arr.slice(1);
137
+          arr.forEach(v => {
138
+            this.addLaborer(null, v.name, v.mphone);
139
+          })
140
+        }
141
+      }
142
+      if(data.carNo){
143
+        let arr:any[] = data.carNo.split(",");
144
+        this.validateForm.controls.carNo0.setValue(arr[0]);
145
+        if(arr.length > 1){
146
+          arr = arr.slice(1);
147
+          arr.forEach(v => {
148
+            this.addCarNo(null, v);
149
+          })
150
+        }
151
+      }
152
+    }else{
153
+      this.validateForm.controls.laborerName0.setValue(null);
154
+      this.validateForm.controls.laborerPhone0.setValue(null);
155
+      this.validateForm.controls.carNo0.setValue(null);
156
+    }
157
+    let value = this.transTypes.find(v => v.id == this.validateForm.value.transType).value;
158
+    this.isShowDateType = value == 1;
159
+    if(this.isShowDateType){
160
+      this.validateForm.get("laborerName0")!.setValidators(Validators.required);
161
+      this.validateForm.get("laborerName0")!.markAsDirty();
162
+
163
+      this.validateForm.get("laborerPhone0")!.setValidators(Validators.required);
164
+      this.validateForm.get("laborerPhone0")!.markAsDirty();
165
+
166
+      this.validateForm.get("carNo0")!.setValidators(Validators.required);
167
+      this.validateForm.get("carNo0")!.markAsDirty();
168
+    }else{
169
+      this.validateForm.get("laborerName0")!.clearValidators();
170
+      this.validateForm.get("laborerName0")!.markAsPristine();
171
+
172
+      this.validateForm.get("laborerPhone0")!.clearValidators();
173
+      this.validateForm.get("laborerPhone0")!.markAsPristine();
174
+
175
+      this.validateForm.get("carNo0")!.clearValidators();
176
+      this.validateForm.get("carNo0")!.markAsPristine();
177
+    }
178
+  }
179
+  // 表单提交
180
+  submitForm(): void {
181
+    var that = this;
182
+    for (const i in that.validateForm.controls) {
183
+      that.validateForm.controls[i].markAsDirty({ onlySelf: true });
184
+      that.validateForm.controls[i].updateValueAndValidity();
185
+    }
186
+    if (that.validateForm.invalid) return;
187
+    that.btnLoading = true;
188
+    let data:any = {
189
+      name: that.validateForm.value.name,
190
+      transType: { id: that.validateForm.value.transType },
191
+      contacts: that.validateForm.value.contacts,
192
+      mphone: that.validateForm.value.mphone,
193
+      businessCode: that.validateForm.value.businessCode,
194
+      address: that.validateForm.value.address,
195
+      hosId: that.hosId,
196
+      laborers: [],
197
+      carNo: "",
198
+    };
199
+    // 司机信息
200
+    if(that.validateForm.value.laborerName0 && that.validateForm.value.laborerPhone0){
201
+      data.laborers = [{name: that.validateForm.value.laborerName0, mphone: that.validateForm.value.laborerPhone0}];
202
+      this.laborers.forEach(v => {
203
+        data.laborers.push({name: that.validateForm.value[v[0].name], mphone: that.validateForm.value[v[1].name]})
204
+      })
205
+    }
206
+    // 车牌号信息
207
+    if(that.validateForm.value.carNo0){
208
+      data.carNo = that.validateForm.value.carNo0;
209
+      this.carNos.forEach(v => {
210
+        data.carNo += "," + that.validateForm.value[v.name];
211
+      })
212
+    }
213
+    if (!that.add) {
214
+      data = {...this.coopData, ...data};
215
+    }
216
+    console.log(data);
217
+    that.mainService
218
+      .simplePost("addData", "company", data)
219
+      .subscribe((data) => {
220
+        that.btnLoading = false;
221
+        that.hideModal();
222
+        that.initForm();
223
+        if (data.status == 200) {
224
+          that.showPromptModal(that.add ? "新增" : "编辑", true, "");
225
+        } else {
226
+          that.showPromptModal(that.add ? "新增" : "编辑", false, data.msg);
227
+        }
228
+      });
229
+  }
230
+
231
+  // 编辑
232
+  maskFlag: any = false;
233
+  coopData:any = {};
234
+  edit(data) {
235
+    this.modal = true;
236
+    this.add = false;
237
+    this.coopId = data.id;
238
+    this.coopData = data;
239
+    this.validateForm.controls.name.setValue(data.name);
240
+    this.validateForm.controls.transType.setValue(data.transType.id);
241
+    this.validateForm.controls.contacts.setValue(data.contacts);
242
+    this.validateForm.controls.mphone.setValue(data.mphone);
243
+    this.validateForm.controls.businessCode.setValue(data.businessCode);
244
+    this.validateForm.controls.address.setValue(data.address);
245
+    this.transTypeChange(data);
246
+  }
247
+
248
+  // 删除
249
+  delModal: boolean = false; //删除模态框
250
+  del(data) {
251
+    this.coopId = data.id;
252
+    this.delModal = true;
253
+  }
254
+  // 确认删除
255
+  confirmDel() {
256
+    let that = this;
257
+    that.btnLoading = true;
258
+    that.mainService
259
+      .simplePost("rmvData", "company", [that.coopId])
260
+      .subscribe((data) => {
261
+        that.btnLoading = false;
262
+        that.hideDelModal();
263
+        if (data["status"] == 200) {
264
+          if (
265
+            that.listOfData.length == 1 &&
266
+            that.pageIndex == Math.ceil(that.listLength / that.pageSize)
267
+          ) {
268
+            that.listLength--;
269
+            that.pageIndex = Math.ceil(that.listLength / that.pageSize) || 1;
270
+          }
271
+          that.showPromptModal("删除", true, "已删除序号规则,请重新配置序号");
272
+        } else {
273
+          that.showPromptModal("删除", false, data["msg"]);
274
+        }
275
+      });
276
+  }
277
+  // 关闭删除模态框
278
+  hideDelModal() {
279
+    this.delModal = false;
280
+  }
281
+
282
+  // 展示信息提示框(con:提示信息,success:操作是否成功,promptInfo:操作结果提示信息)
283
+  showPromptModal(con, success, promptInfo?) {
284
+    this.promptModalShow = false;
285
+    this.promptContent = con;
286
+    this.ifSuccess = success;
287
+    this.promptInfo = promptInfo;
288
+    setTimeout(() => {
289
+      this.promptModalShow = true;
290
+    }, 100);
291
+    this.getList();
292
+  }
293
+
294
+  isLoading = false;
295
+  id:number = 1;
296
+
297
+  // 司机信息多项
298
+  laborers:any[] = [];
299
+  // 新添加司机信息
300
+  addLaborer(e: MouseEvent, laborerName = null, laborerPhone = null) {
301
+    e && e.preventDefault();
302
+    let id  = this.laborers.length + 1;
303
+    // 姓名
304
+    this.laborers.push([
305
+      { name: `laborerName${id}`, id: ++this.id },//姓名
306
+      { name: `laborerPhone${id}`, id: ++this.id },//电话
307
+    ]);
308
+    console.log(this.laborers);
309
+    this.validateForm.addControl(
310
+      `laborerName${id}`,
311
+      new FormControl(laborerName, Validators.required)
312
+    );
313
+    // 电话
314
+    this.validateForm.addControl(
315
+      `laborerPhone${id}`,
316
+      new FormControl(laborerPhone, Validators.required)
317
+    );
318
+  }
319
+  // 新添加司机信息
320
+  removeLaborer(index: number, e?: MouseEvent) {
321
+    e && e.preventDefault();
322
+    this.laborers.splice(index, 1);
323
+    this.validateForm.removeControl(`laborerName${index + 1}`);
324
+    this.validateForm.removeControl(`laborerPhone${index + 1}`);
325
+  }
326
+
327
+  // 车牌号多项
328
+  carNos:any[] = [];
329
+  // 新添加车牌号
330
+  addCarNo(e: MouseEvent, carNo = null) {
331
+    e && e.preventDefault();
332
+    let id = this.carNos.length + 1;
333
+    this.carNos.push({ name: `carNo${id}`, id: ++this.id });
334
+    console.log(this.carNos);
335
+    this.validateForm.addControl(
336
+      `carNo${id}`,
337
+      new FormControl(carNo, Validators.required)
338
+    );
339
+  }
340
+  // 新添加车牌号
341
+  removeCarNo(index: number, e?: MouseEvent) {
342
+    e && e.preventDefault();
343
+    this.carNos.splice(index, 1);
344
+    this.validateForm.removeControl(`carNo${index + 1}`);
345
+  }
346
+}

+ 19 - 0
src/app/views/unit-management/unit-management.module.ts

@@ -0,0 +1,19 @@
1
+import { NgModule } from '@angular/core';
2
+import { CommonModule } from '@angular/common';
3
+
4
+import { UnitManagementRoutingModule } from './unit-management-routing.module';
5
+import { UnitManagementComponent } from './unit-management.component';
6
+import { ShareModule } from 'src/app/share/share.module';
7
+
8
+
9
+@NgModule({
10
+  declarations: [
11
+    UnitManagementComponent,
12
+  ],
13
+  imports: [
14
+    CommonModule,
15
+    UnitManagementRoutingModule,
16
+    ShareModule
17
+  ]
18
+})
19
+export class UnitManagementModule { }