modal-step-view.component.js
43.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, EventEmitter, Output, ViewChild } from '@angular/core';
import { ModalDirective } from 'ngx-bootstrap';
import { Common } from '../_services/common.service';
import { Request } from '../_services/request.service';
var ModalStepViewComponent = /** @class */ (function () {
function ModalStepViewComponent(request, common) {
this.request = request;
this.common = common;
this.onUpdateModal = new EventEmitter();
this.submitted = false;
this.title = 'สถานะขั้นตอน';
this.selectList = [];
this.list = [];
this.modalConfig = {
ignoreBackdropClick: true
};
this.selectedStep = {};
this.isMore = false;
this.moreField = [];
this.stepData = {};
this.lastStep = '';
this.stepName = '';
this.isSend = false;
this.isRecieve = false;
this.sendList = [];
this.recieveList = [];
}
/**
* @return {?}
*/
ModalStepViewComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
};
/**
* @param {?=} options
* @return {?}
*/
ModalStepViewComponent.prototype.open = /**
* @param {?=} options
* @return {?}
*/
function (options) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var _a, step, i, flag, ct_step_flag, newField, filter, sendDataList, filter, recieveDataList;
return tslib_1.__generator(this, function (_b) {
switch (_b.label) {
case 0:
console.log(options);
this.stepData = {};
if (!options) return [3 /*break*/, 11];
this.title = options.option.title || 'สถานะขั้นตอน';
this.stepName = options.data.step_name || '';
this.stepData = JSON.parse(JSON.stringify(options.data));
this.downloadToken = options.downloadToken;
if (!this.stepData.step_id) return [3 /*break*/, 11];
_a = this;
return [4 /*yield*/, this.request.get('/db/ct_step?_where=(id,eq,' + this.stepData.step_id + ')')];
case 1:
_a.selectList = _b.sent();
step = this.selectList[0];
if (!step.flag) return [3 /*break*/, 6];
i = 0;
_b.label = 2;
case 2:
if (!(i < step.flag.length)) return [3 /*break*/, 5];
flag = step.flag.charAt(i);
return [4 /*yield*/, this.request.get('/db/ct_step_flag?_where=(flag,eq,' + flag + ')')];
case 3:
ct_step_flag = _b.sent();
newField = ct_step_flag[0];
this.moreField.push(newField);
_b.label = 4;
case 4:
i++;
return [3 /*break*/, 2];
case 5:
this.isMore = true;
return [3 /*break*/, 11];
case 6:
this.isMore = false;
if (!(step.type_id === 8 || step.type_id === 13)) return [3 /*break*/, 8];
filter = {
filter: {
ct_step_data_id: this.stepData.id
},
order_by: ["is_important", "send_book_no", "created_at"]
};
return [4 /*yield*/, this.request.post('/search/v_ct_step_sent', filter)];
case 7:
sendDataList = _b.sent();
this.sendList = sendDataList.resultData;
this.isSend = true;
this.isRecieve = false;
return [3 /*break*/, 11];
case 8:
if (!(step.type_id === 9 || step.type_id === 14)) return [3 /*break*/, 10];
filter = {
filter: {
ct_step_data_id: this.stepData.id
},
order_by: ["is_important", "send_book_no", "created_at"]
};
return [4 /*yield*/, this.request.post('/search/v_ct_step_sent', filter)];
case 9:
recieveDataList = _b.sent();
this.recieveList = recieveDataList.resultData;
this.isRecieve = true;
this.isSend = false;
return [3 /*break*/, 11];
case 10:
this.isRecieve = false;
this.isSend = false;
_b.label = 11;
case 11:
this.modal.show();
return [2 /*return*/];
}
});
});
};
/**
* @return {?}
*/
ModalStepViewComponent.prototype.closeModal = /**
* @return {?}
*/
function () {
this.submitted = false;
this.selectList = [];
this.list = [];
this.selectedStep = {};
this.isMore = false;
this.isSend = false;
this.isRecieve = false;
this.moreField = [];
this.stepData = {};
this.lastStep = '';
this.modal.hide();
};
/**
* @param {?} data
* @return {?}
*/
ModalStepViewComponent.prototype.getFieldId = /**
* @param {?} data
* @return {?}
*/
function (data) {
/** @type {?} */
var id = '';
if (data.type === 'text') {
id += 'txtView';
}
else if (data.type === 'datetime') {
id += 'txtView';
}
/** @type {?} */
var field = data.field_name.charAt(0).toLocaleUpperCase() + data.field_name.substring(1);
id += field;
return id;
};
/**
* @param {?} data
* @return {?}
*/
ModalStepViewComponent.prototype.getRowIndex = /**
* @param {?} data
* @return {?}
*/
function (data) {
if (!data.data) {
return '';
}
/** @type {?} */
var no = data.row.dataIndex + 1;
return no;
};
/**
* @param {?} e
* @return {?}
*/
ModalStepViewComponent.prototype.onCellPrepared = /**
* @param {?} e
* @return {?}
*/
function (e) {
if (e.rowType === 'data') {
for (var i in e.component.columns) {
if (e.column.dataField === e.component.columns[i]) {
e.cellElement.accessKey = e.component.columns[i];
}
}
}
};
/**
* @param {?} data
* @return {?}
*/
ModalStepViewComponent.prototype.isImportant = /**
* @param {?} data
* @return {?}
*/
function (data) {
return data.is_important ? "สำคัญ" : "";
};
/**
* @param {?} data
* @return {?}
*/
ModalStepViewComponent.prototype.getImageLink = /**
* @param {?} data
* @return {?}
*/
function (data) {
return data.url + '?downloadToken=' + this.downloadToken;
};
ModalStepViewComponent.decorators = [
{ type: Component, args: [{
selector: 'modal-step-view',
template: "<div class=\"modal fade\" bsModal #modal=\"bs-modal\" [config]=\"{backdrop: 'static'}\"\n tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"dialog-static-name\">\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 id=\"dialog-static-name\" class=\"modal-title pull-left\"><label>{{title}}</label></h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"closeModal()\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div class=\"row\">\n <div class=\"col-lg-12\">\n <div class=\"m-portlet__body\">\n <div class=\"row\">\n <!-- \u0E2A\u0E16\u0E32\u0E19\u0E30\u0E43\u0E2B\u0E21\u0E48 -->\n <!--<div class=\"col-sm-2\">-->\n <!--<span>\u0E2A\u0E16\u0E32\u0E19\u0E30 :</span>-->\n <!--</div>-->\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E2A\u0E16\u0E32\u0E19\u0E30\u0E01\u0E32\u0E23\u0E15\u0E34\u0E14\u0E15\u0E32\u0E21</label>\n <input type=\"text\" class=\"form-control m-input\" id=\"txtViewStepName\" [(ngModel)]=\"stepName\" disabled>\n </div>\n <!-- \u0E27\u0E31\u0E19\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23 -->\n <!--<div class=\"col-sm-2\">-->\n <!--<span>\u0E27\u0E31\u0E19\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23 :</span>-->\n <!--</div>-->\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E27\u0E31\u0E19\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23</label>\n <soc-date-box [id]=\"'txtStepDate'\" [(value)]=\"stepData.step_date\" [disabled]=\"true\"></soc-date-box>\n </div>\n </div>\n <div class=\"row\" *ngIf=\"stepData.system_id === 23\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E40\u0E25\u0E02\u0E17\u0E35\u0E48\u0E23\u0E31\u0E1A \u0E2A\u0E25\u0E04.</label>\n <input type=\"text\" class=\"form-control m-input\" id=\"soc_recv_no\" [(ngModel)]=\"stepData.soc_recv_no\" [disabled]=\"true\">\n </div>\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E23\u0E31\u0E1A \u0E2A\u0E25\u0E04.</label>\n <soc-date-box [id]=\"'soc_recv_date'\" [(value)]=\"stepData.soc_recv_date\"[disabled]=\"true\" ></soc-date-box>\n </div>\n <br>\n </div>\n <div class=\"row\" *ngIf=\"stepData.system_id === 23\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E40\u0E25\u0E02\u0E17\u0E35\u0E48\u0E23\u0E31\u0E1A \u0E01\u0E2D\u0E04.</label>\n <input type=\"text\" class=\"form-control m-input\" id=\"gtc_recv_no\" [(ngModel)]=\"stepData.gtc_recv_no\" [disabled]=\"true\">\n </div>\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E23\u0E31\u0E1A \u0E01\u0E2D\u0E04.</label>\n <soc-date-box [id]=\"'gtc_recv_date'\" [(value)]=\"stepData.gtc_recv_date\" [disabled]=\"true\" ></soc-date-box>\n </div>\n <br>\n </div>\n\n <div class=\"row\" *ngIf=\"stepData.system_id === 23\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E40\u0E25\u0E02\u0E17\u0E35\u0E48\u0E2B\u0E19\u0E31\u0E07\u0E2A\u0E37\u0E2D</label>\n <input type=\"text\" class=\"form-control m-input\" id=\"book_no\" [(ngModel)]=\"stepData.book_no\" [disabled]=\"true\">\n </div>\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E25\u0E07\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48</label>\n <!-- <input type=\"text\" class=\"form-control m-input\" id=\"book_date\" [(ngModel)]=\"stepData.book_date\" [disabled]=\"true\"> -->\n <soc-date-box [id]=\"'book_date'\" [(value)]=\"stepData.book_date\" [disabled]=\"true\"></soc-date-box>\n </div>\n <br>\n </div>\n\n <div class=\"row\" *ngIf=\"stepData.system_id === 23\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E40\u0E23\u0E35\u0E22\u0E19</label>\n <input type=\"text\" class=\"form-control m-input\" id=\"for\" [(ngModel)]=\"stepData.for\" [disabled]=\"true\">\n </div>\n <br>\n </div>\n <div class=\"row\" *ngIf=\"stepData.system_id === 23\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E01\u0E23\u0E30\u0E17\u0E23\u0E27\u0E07</label>\n <input type=\"text\" class=\"form-control m-input\" id=\"for\" [(ngModel)]=\"stepData.ministry\" [disabled]=\"true\">\n <!-- <soc-auto-complete-2 [id]=\"'ministry'\" mode=\"local\"\n [api]=\"'/db/ct_ext_department'\" [acceptCustomValue]=\"false\" field=\"name\" fieldApi=\"id,name,code,type\"\n [filter]=\"'&_where=(type,in,1,9)'\" (valueSelete)=\"valueSeleteMinistry($event)\"\n [(value)]=\"stepData.ministry\" [(ngModel)]=\"stepData.ministry\" [disabled]=\"true\">\n </soc-auto-complete-2> -->\n </div>\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E01\u0E23\u0E21</label>\n <div>\n <input type=\"text\" class=\"form-control m-input\" id=\"for\" [(ngModel)]=\"stepData.dept_name\" [disabled]=\"true\">\n <!-- <soc-auto-complete-2 [acceptCustomValue]=\"false\" [id]=\"'dept_name'\"\n mode=\"local\" [filter]=\"filter_ref_ext_department_id\"\n [api]=\"'/db/ct_ext_department'\" field=\"name\"\n fieldApi=\"id,name,code,type\" [(value)]=\"stepData.dept_name\" (valueSelete)=\"valueSeleteDeptName($event)\"\n [(ngModel)]=\"stepData.dept_name\" [disabled]=\"true\">\n </soc-auto-complete-2> -->\n </div>\n </div>\n </div>\n\n <br>\n <div class=\"row\">\n <!--<div class=\"col-sm-2\">-->\n <!--<span>\u0E40\u0E2D\u0E01\u0E2A\u0E32\u0E23\u0E41\u0E19\u0E1A :</span>-->\n <!--</div>-->\n <div class=\"col-sm-12\">\n <label class=\"control-label\">\u0E40\u0E2D\u0E01\u0E2A\u0E32\u0E23\u0E41\u0E19\u0E1A</label>\n <br>\n <a [href]=\"getImageLink(stepData)\" target=\"_blank\">{{stepData.url}}</a>\n </div>\n </div>\n <br>\n <!-- \u0E2B\u0E21\u0E32\u0E22\u0E40\u0E2B\u0E15\u0E38 -->\n <div class=\"row\">\n <!--<div class=\"col-sm-2\">-->\n <!--<span>\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E2B\u0E15\u0E38 :</span>-->\n <!--</div>-->\n <div class=\"col-sm-12\">\n <label class=\"control-label\">\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E2B\u0E15\u0E38</label>\n <textarea class=\"form-control m-input\" id=\"txtViewRemark\" rows=\"3\" [(ngModel)]=\"stepData.remark\" disabled></textarea>\n </div>\n </div>\n <br>\n <div *ngIf=\"isMore\">\n <div *ngFor=\"let field of moreField; let i=index\">\n <div class=\"row\">\n <!--<div class=\"col-sm-2\">-->\n <!--<span>{{field.display_name}} :</span>-->\n <!--</div>-->\n <div *ngIf=\"field.type === 'text'\">\n <div class=\"col-sm-12\">\n <label class=\"control-label\">{{field.display_name}}</label>\n <input type=\"text\" class=\"form-control m-input\" [id]=\"getFieldId(field)\" [(ngModel)]=\"stepData[field.field_name]\" disabled>\n </div>\n </div>\n <!-- field \u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21 type datetime -->\n <div *ngIf=\"field.type === 'datetime'\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">{{field.display_name}}</label>\n <soc-date-box [id]=\"getFieldId(field)\" [(value)]=\"stepData[field.field_name]\" [disabled]=\"true\"></soc-date-box>\n </div>\n </div>\n <div *ngIf=\"field.type === 'number'\">\n <div *ngIf=\"field.field_name === 'remind_date'\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">{{field.display_name}}</label>\n <soc-date-box [id]=\"getFieldId(field)\" [(value)]=\"stepData[field.field_name]\" [disabled]=\"true\"></soc-date-box>\n </div>\n </div>\n <div *ngIf=\"field.field_name !== 'remind_date'\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">{{field.display_name}}</label>\n <input type=\"number\" class=\"form-control m-input\" [id]=\"getFieldId(field)\" [(ngModel)]=\"stepData[field.field_name]\" disabled>\n </div>\n </div>\n </div>\n <div *ngIf=\"field.type === 'special'\">\n <div *ngIf=\"field.field_name === 'term'\">\n\n </div>\n <div *ngIf=\"field.field_name === 'amount'\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">{{field.display_name}}</label>\n <input type=\"text\" class=\"form-control m-input\" [id]=\"getFieldId(field)\" [(ngModel)]=\"stepData[field.field_name]\" disabled>\n </div>\n <div class=\"col-sm-6\">\n <div class=\"m-radio-inline\">\n <label class=\"m-radio\">\n <input type=\"radio\" id=\"rdlAmountType1\" [value]=\"0\" [(ngModel)]=\"stepData['amount_type']\" disabled>\n \u0E19\u0E31\u0E1A\u0E41\u0E15\u0E48<span></span>\n </label>\n <label class=\"m-radio\">\n <input type=\"radio\" id=\"rdlAmountType2\" [value]=\"1\" [(ngModel)]=\"stepData['amount_type']\" disabled>\n \u0E19\u0E31\u0E1A\u0E16\u0E31\u0E14<span></span>\n </label>\n </div>\n </div>\n </div>\n <div *ngIf=\"field.field_name === 'follow'\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">{{field.display_name}}</label>\n <div class=\"m-radio-inline\">\n <label class=\"m-radio\">\n <input type=\"radio\" [id]=\"getFieldId(field) + '1'\" value=\"\u0E17\u0E32\u0E07\u0E01\u0E32\u0E23\" [(ngModel)]=\"stepData[field.field_name]\" disabled>\n \u0E17\u0E32\u0E07\u0E01\u0E32\u0E23<span></span>\n </label>\n <label class=\"m-radio\">\n <input type=\"radio\" [id]=\"getFieldId(field) + '2'\" value=\"\u0E44\u0E21\u0E48\u0E17\u0E32\u0E07\u0E01\u0E32\u0E23\" [(ngModel)]=\"stepData[field.field_name]\" disabled>\n \u0E44\u0E21\u0E48\u0E17\u0E32\u0E07\u0E01\u0E32\u0E23<span></span>\n </label>\n </div>\n </div>\n <!--<div class=\"col-sm-2\">-->\n <!--<span>\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E2B\u0E15\u0E38 :</span>-->\n <!--</div>-->\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E2B\u0E15\u0E38</label>\n <input type=\"text\" class=\"form-control m-input\" id=\"txtFollowRemark\" [(ngModel)]=\"stepData['follow_remark']\" disabled>\n </div>\n </div>\n <div *ngIf=\"field.field_name === 'cause'\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">{{field.display_name}}</label>\n <input type=\"text\" class=\"form-control m-input\" [id]=\"getFieldId(field)\" [(ngModel)]=\"stepData[field.field_name]\" disabled>\n </div>\n </div>\n </div>\n </div>\n <br>\n </div>\n <br>\n </div>\n <div *ngIf=\"isSend\">\n <div class=\"row\">\n <div class=\"col-sm-2\">\n <span>\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E2A\u0E48\u0E07 :</span>\n </div>\n </div>\n <br>\n <dx-data-grid #dxDataGridStepSendListView class=\"card-list-table\"\n id=\"gridStepSendListView\" noDataText=\"\"\n (onCellPrepared)=\"onCellPrepared($event)\" [dataSource]=\"sendList\"\n [wordWrapEnabled]=\"true\"\n [showBorders]=\"true\">\n <dxi-column caption=\"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E17\u0E35\u0E48\" [allowSorting]=\"false\" cellTemplate=\"cellTemplate\" alignment=\"center\"></dxi-column>\n <dxi-column dataField=\"send_to\" caption=\"\u0E2B\u0E19\u0E48\u0E27\u0E22\u0E07\u0E32\u0E19\"></dxi-column>\n <dxi-column dataField=\"send_book_no\" caption=\"\u0E40\u0E25\u0E02\u0E17\u0E35\u0E48\u0E2B\u0E19\u0E31\u0E07\u0E2A\u0E37\u0E2D\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\"></dxi-column>\n <dxi-column dataField=\"send_date\" caption=\"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\" dataType=\"date\" alignment=\"center\"></dxi-column>\n <dxi-column [calculateCellValue]=\"isImportant\" caption=\"\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E33\u0E04\u0E31\u0E0D\"></dxi-column>\n <div *dxTemplate=\"let data of 'cellTemplate'\">\n {{getRowIndex(data)}}\n </div>\n </dx-data-grid>\n <br>\n </div>\n <div *ngIf=\"isRecieve\">\n <div class=\"row\">\n <div class=\"col-sm-2\">\n <span>\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E23\u0E31\u0E1A :</span>\n </div>\n </div>\n <br>\n <dx-data-grid #dxDataGridStepRecieveListView class=\"card-list-table\"\n id=\"gridStepRecieveListView\" noDataText=\"\"\n (onCellPrepared)=\"onCellPrepared($event)\" [dataSource]=\"recieveList\"\n [wordWrapEnabled]=\"true\"\n [showBorders]=\"true\">\n <dxi-column caption=\"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E17\u0E35\u0E48\" [allowSorting]=\"false\" cellTemplate=\"cellTemplate\" alignment=\"center\"></dxi-column>\n <dxi-column dataField=\"recv_from\" caption=\"\u0E2B\u0E19\u0E48\u0E27\u0E22\u0E07\u0E32\u0E19\"></dxi-column>\n <dxi-column dataField=\"send_book_no\" caption=\"\u0E40\u0E25\u0E02\u0E17\u0E35\u0E48\u0E2B\u0E19\u0E31\u0E07\u0E2A\u0E37\u0E2D\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\"></dxi-column>\n <dxi-column dataField=\"send_date\" caption=\"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\" dataType=\"date\" alignment=\"center\"></dxi-column>\n <dxi-column dataField=\"recv_no\" caption=\"\u0E40\u0E25\u0E02\u0E17\u0E35\u0E48\u0E23\u0E31\u0E1A\u0E2B\u0E19\u0E31\u0E07\u0E2A\u0E37\u0E2D\"></dxi-column>\n <dxi-column dataField=\"recv_date\" caption=\"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E23\u0E31\u0E1A\" dataType=\"date\" alignment=\"center\"></dxi-column>\n <div *dxTemplate=\"let data of 'cellTemplate'\">\n {{getRowIndex(data)}}\n </div>\n </dx-data-grid>\n <br>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>"
}] }
];
/** @nocollapse */
ModalStepViewComponent.ctorParameters = function () { return [
{ type: Request },
{ type: Common }
]; };
ModalStepViewComponent.propDecorators = {
onUpdateModal: [{ type: Output }],
modal: [{ type: ViewChild, args: ['modal',] }]
};
return ModalStepViewComponent;
}());
export { ModalStepViewComponent };
if (false) {
/** @type {?} */
ModalStepViewComponent.prototype.onUpdateModal;
/** @type {?} */
ModalStepViewComponent.prototype.modal;
/** @type {?} */
ModalStepViewComponent.prototype.submitted;
/** @type {?} */
ModalStepViewComponent.prototype.title;
/** @type {?} */
ModalStepViewComponent.prototype.selectList;
/** @type {?} */
ModalStepViewComponent.prototype.list;
/** @type {?} */
ModalStepViewComponent.prototype.modalConfig;
/** @type {?} */
ModalStepViewComponent.prototype.th;
/** @type {?} */
ModalStepViewComponent.prototype.selectedStep;
/** @type {?} */
ModalStepViewComponent.prototype.isMore;
/** @type {?} */
ModalStepViewComponent.prototype.moreField;
/** @type {?} */
ModalStepViewComponent.prototype.config;
/** @type {?} */
ModalStepViewComponent.prototype.stepData;
/** @type {?} */
ModalStepViewComponent.prototype.lastStep;
/** @type {?} */
ModalStepViewComponent.prototype.stepName;
/** @type {?} */
ModalStepViewComponent.prototype.isSend;
/** @type {?} */
ModalStepViewComponent.prototype.isRecieve;
/** @type {?} */
ModalStepViewComponent.prototype.sendList;
/** @type {?} */
ModalStepViewComponent.prototype.recieveList;
/** @type {?} */
ModalStepViewComponent.prototype.downloadToken;
/** @type {?} */
ModalStepViewComponent.prototype.request;
/** @type {?} */
ModalStepViewComponent.prototype.common;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3RlcC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3NvYy1hcHAtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9tb2RhbC1zdGVwLXZpZXcvbW9kYWwtc3RlcC12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBZSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7SUE4Qm5ELGdDQUFvQixPQUFnQixFQUFTLE1BQWM7UUFBdkMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFTLFdBQU0sR0FBTixNQUFNLENBQVE7NkJBdEJqQyxJQUFJLFlBQVksRUFBRTt5QkFFaEMsS0FBSztxQkFDSixjQUFjOzBCQUNULEVBQUU7b0JBQ1IsRUFBRTsyQkFDYztZQUN4QixtQkFBbUIsRUFBRSxJQUFJO1NBQzVCOzRCQUVtQixFQUFFO3NCQUNiLEtBQUs7eUJBQ0csRUFBRTt3QkFFSCxFQUFFO3dCQUNQLEVBQUU7d0JBQ0YsRUFBRTtzQkFDSixLQUFLO3lCQUNGLEtBQUs7d0JBQ0QsRUFBRTsyQkFDQyxFQUFFO0tBR3BCOzs7O0lBRUQseUNBQVE7OztJQUFSO0tBRUM7Ozs7O0lBRUsscUNBQUk7Ozs7SUFBVixVQUFXLE9BQWE7Ozs7Ozt3QkFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7NkJBQ2YsT0FBTyxFQUFQLHlCQUFPO3dCQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUks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LE9BQU87O2lDQVp0Qjs7U0FTYSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNb2RhbE9wdGlvbnMsIE1vZGFsRGlyZWN0aXZlfSBmcm9tICduZ3gtYm9vdHN0cmFwJztcbmltcG9ydCB7Q29tbW9ufSBmcm9tICcuLi9fc2VydmljZXMvY29tbW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVxdWVzdCB9IGZyb20gJy4uL19zZXJ2aWNlcy9yZXF1ZXN0LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21vZGFsLXN0ZXAtdmlldycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLXN0ZXAtdmlldy5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsU3RlcFZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgQE91dHB1dCgpIG9uVXBkYXRlTW9kYWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQFZpZXdDaGlsZCgnbW9kYWwnKSBtb2RhbDogTW9kYWxEaXJlY3RpdmU7XG4gICAgc3VibWl0dGVkID0gZmFsc2U7XG4gICAgdGl0bGU6IGFueSA9ICfguKrguJbguLLguJnguLDguILguLHguYnguJnguJXguK3guJknO1xuICAgIHNlbGVjdExpc3Q6IGFueSA9IFtdO1xuICAgIGxpc3Q6IGFueSA9IFtdO1xuICAgIG1vZGFsQ29uZmlnOiBNb2RhbE9wdGlvbnMgPSB7XG4gICAgICAgIGlnbm9yZUJhY2tkcm9wQ2xpY2s6IHRydWVcbiAgICB9O1xuICAgIHRoO1xuICAgIHNlbGVjdGVkU3RlcDogYW55ID0ge307XG4gICAgaXNNb3JlID0gZmFsc2U7XG4gICAgbW9yZUZpZWxkOiBhbnkgPSBbXTtcbiAgICBwdWJsaWMgY29uZmlnOiBhbnk7XG4gICAgc3RlcERhdGE6IGFueSA9IHt9O1xuICAgIGxhc3RTdGVwID0gJyc7XG4gICAgc3RlcE5hbWUgPSAnJztcbiAgICBpc1NlbmQgPSBmYWxzZTtcbiAgICBpc1JlY2lldmUgPSBmYWxzZTtcbiAgICBzZW5kTGlzdDogYW55ID0gW107XG4gICAgcmVjaWV2ZUxpc3Q6IGFueSA9IFtdO1xuICAgIGRvd25sb2FkVG9rZW46YW55O1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVxdWVzdDogUmVxdWVzdCwgcHVibGljIGNvbW1vbjogQ29tbW9uKSB7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG5cbiAgICB9XG5cbiAgICBhc3luYyBvcGVuKG9wdGlvbnM/OiBhbnkpIHtcbiAgICAgICAgY29uc29sZS5sb2cob3B0aW9ucyk7XG4gICAgICAgIHRoaXMuc3RlcERhdGEgPSB7fTtcbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMudGl0bGUgPSBvcHRpb25zLm9wdGlvbi50aXRsZSB8fCAn4Liq4LiW4Liy4LiZ4Liw4LiC4Lix4LmJ4LiZ4LiV4Lit4LiZJztcbiAgICAgICAgICAgIHRoaXMuc3RlcE5hbWUgPSBvcHRpb25zLmRhdGEuc3RlcF9uYW1lIHx8ICcnO1xuICAgICAgICAgICAgdGhpcy5zdGVwRGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob3B0aW9ucy5kYXRhKSk7XG4gICAgICAgICAgICB0aGlzLmRvd25sb2FkVG9rZW4gPSBvcHRpb25zLmRvd25sb2FkVG9rZW47XG4gICAgICAgICAgICAvLyDguJXguYnguK3guIfguYDguJvguKXguLXguYjguKLguJnguYDguJvguYfguJnguYDguKPguLXguKLguIEgYXBpXG4gICAgICAgICAgICBpZih0aGlzLnN0ZXBEYXRhLnN0ZXBfaWQpe1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0TGlzdCA9IGF3YWl0IHRoaXMucmVxdWVzdC5nZXQoJy9kYi9jdF9zdGVwP193aGVyZT0oaWQsZXEsJyArIHRoaXMuc3RlcERhdGEuc3RlcF9pZCArICcpJyk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3RlcCA9IHRoaXMuc2VsZWN0TGlzdFswXTtcbiAgICAgICAgICAgICAgICBpZiAoc3RlcC5mbGFnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RlcC5mbGFnLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmbGFnID0gc3RlcC5mbGFnLmNoYXJBdChpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGN0X3N0ZXBfZmxhZyA9IGF3YWl0IHRoaXMucmVxdWVzdC5nZXQoJy9kYi9jdF9zdGVwX2ZsYWc/X3doZXJlPShmbGFnLGVxLCcgKyBmbGFnICsgJyknKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0ZpZWxkID0gY3Rfc3RlcF9mbGFnWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3JlRmllbGQucHVzaChuZXdGaWVsZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc01vcmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNNb3JlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdGVwLnR5cGVfaWQgPT09IDggfHwgc3RlcC50eXBlX2lkID09PSAxMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbHRlciA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0X3N0ZXBfZGF0YV9pZCA6IHRoaXMuc3RlcERhdGEuaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyX2J5OltcImlzX2ltcG9ydGFudFwiLFwic2VuZF9ib29rX25vXCIsXCJjcmVhdGVkX2F0XCJdXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZW5kRGF0YUxpc3QgPSBhd2FpdCB0aGlzLnJlcXVlc3QucG9zdCgnL3NlYXJjaC92X2N0X3N0ZXBfc2VudCcsZmlsdGVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VuZExpc3QgPSBzZW5kRGF0YUxpc3QucmVzdWx0RGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTZW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNSZWNpZXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RlcC50eXBlX2lkID09PSA5IHx8IHN0ZXAudHlwZV9pZCA9PT0gMTQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWx0ZXIgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdF9zdGVwX2RhdGFfaWQgOiB0aGlzLnN0ZXBEYXRhLmlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlcl9ieTpbXCJpc19pbXBvcnRhbnRcIixcInNlbmRfYm9va19ub1wiLFwiY3JlYXRlZF9hdFwiXVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjaWV2ZURhdGFMaXN0ID0gYXdhaXQgdGhpcy5yZXF1ZXN0LnBvc3QoJy9zZWFyY2gvdl9jdF9zdGVwX3NlbnQnLGZpbHRlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlY2lldmVMaXN0ID0gcmVjaWV2ZURhdGFMaXN0LnJlc3VsdERhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUmVjaWV2ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU2VuZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1JlY2lldmUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTZW5kID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tb2RhbC5zaG93KCk7XG4gICAgfVxuXG4gICAgY2xvc2VNb2RhbCgpIHtcbiAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWxlY3RMaXN0ID0gW107XG4gICAgICAgIHRoaXMubGlzdCA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkU3RlcCA9IHt9O1xuICAgICAgICB0aGlzLmlzTW9yZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzU2VuZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzUmVjaWV2ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLm1vcmVGaWVsZCA9IFtdO1xuICAgICAgICB0aGlzLnN0ZXBEYXRhID0ge307XG4gICAgICAgIHRoaXMubGFzdFN0ZXAgPSAnJztcbiAgICAgICAgdGhpcy5tb2RhbC5oaWRlKCk7XG4gICAgfVxuXG4gICAgZ2V0RmllbGRJZChkYXRhKSB7XG4gICAgICAgIGxldCBpZCA9ICcnO1xuICAgICAgICBpZiAoZGF0YS50eXBlID09PSAndGV4dCcpIHtcbiAgICAgICAgICAgIGlkICs9ICd0eHRWaWV3JztcbiAgICAgICAgfSBlbHNlIGlmIChkYXRhLnR5cGUgPT09ICdkYXRldGltZScpIHtcbiAgICAgICAgICAgIGlkICs9ICd0eHRWaWV3JztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWVsZCA9IGRhdGEuZmllbGRfbmFtZS5jaGFyQXQoMCkudG9Mb2NhbGVVcHBlckNhc2UoKSArIGRhdGEuZmllbGRfbmFtZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgIGlkICs9IGZpZWxkO1xuICAgICAgICByZXR1cm4gaWQ7XG4gICAgfVxuXG4gICAgZ2V0Um93SW5kZXgoZGF0YSkge1xuICAgICAgICBpZiAoIWRhdGEuZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5vID0gZGF0YS5yb3cuZGF0YUluZGV4ICsgMTtcbiAgICAgICAgcmV0dXJuIG5vO1xuICAgIH1cblxuICAgIG9uQ2VsbFByZXBhcmVkKGUpIHtcbiAgICAgICAgaWYgKGUucm93VHlwZSA9PT0gJ2RhdGEnKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGkgaW4gZS5jb21wb25lbnQuY29sdW1ucykge1xuICAgICAgICAgICAgICAgIGlmIChlLmNvbHVtbi5kYXRhRmllbGQgPT09IGUuY29tcG9uZW50LmNvbHVtbnNbaV0pIHtcbiAgICAgICAgICAgICAgICAgICAgZS5jZWxsRWxlbWVudC5hY2Nlc3NLZXkgPSBlLmNvbXBvbmVudC5jb2x1bW5zW2ldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzSW1wb3J0YW50KGRhdGEpe1xuICAgICAgICByZXR1cm4gZGF0YS5pc19pbXBvcnRhbnQ/XCLguKrguLPguITguLHguI1cIjpcIlwiO1xuICAgIH1cblxuICAgIGdldEltYWdlTGluayhkYXRhKXtcbiAgICAgICAgcmV0dXJuIGRhdGEudXJsKyc/ZG93bmxvYWRUb2tlbj0nK3RoaXMuZG93bmxvYWRUb2tlbjtcbiAgICB9XG59XG4iXX0=