tnx-shared 5.1.77 → 5.1.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/tnx-shared.umd.js +939 -310
- package/bundles/tnx-shared.umd.js.map +1 -1
- package/bundles/tnx-shared.umd.min.js +1 -1
- package/bundles/tnx-shared.umd.min.js.map +1 -1
- package/classes/base/data-form-base.d.ts +1 -0
- package/classes/base/data-form-base.d.ts.map +1 -1
- package/classes/base/data-list-base.d.ts +2 -1
- package/classes/base/data-list-base.d.ts.map +1 -1
- package/classes/form-schema.d.ts +3 -0
- package/classes/form-schema.d.ts.map +1 -1
- package/components/crud/crud-form/crud-form.component.d.ts.map +1 -1
- package/components/crud/crud-list/crud-list.component.d.ts +1 -0
- package/components/crud/crud-list/crud-list.component.d.ts.map +1 -1
- package/components/entity-permission/services.cs/entity-permission.service.d.ts +1 -0
- package/components/entity-permission/services.cs/entity-permission.service.d.ts.map +1 -1
- package/components/file-explorer/file-manager/file-manager.component.d.ts +1 -0
- package/components/file-explorer/file-manager/file-manager.component.d.ts.map +1 -1
- package/components/file-explorer/services/file-data.service.d.ts +1 -0
- package/components/file-explorer/services/file-data.service.d.ts.map +1 -1
- package/components/query-builders/query-builder/query-builder.component.d.ts.map +1 -1
- package/components/query-builders/query-builder-group/query-builder-group.component.d.ts +1 -0
- package/components/query-builders/query-builder-group/query-builder-group.component.d.ts.map +1 -1
- package/components/query-builders/query-builder-rule/query-builder-rule.component.d.ts +3 -0
- package/components/query-builders/query-builder-rule/query-builder-rule.component.d.ts.map +1 -1
- package/components/share-link-by-permission/models/share-link-by-permission.d.ts +3 -0
- package/components/share-link-by-permission/models/share-link-by-permission.d.ts.map +1 -1
- package/components/share-link-by-permission/share-link-by-permission.component.d.ts.map +1 -1
- package/components/statemachines/statemachines-connection-metadata/statemachines-connection-metadata.component.d.ts.map +1 -1
- package/components/statemachines/statemachines-connection-receiver/statemachines-connection-receiver.component.d.ts +3 -0
- package/components/statemachines/statemachines-connection-receiver/statemachines-connection-receiver.component.d.ts.map +1 -1
- package/components/statemachines/statemachines-connection-receiver-condition/statemachines-connection-receiver-condition.component.d.ts +28 -0
- package/components/statemachines/statemachines-connection-receiver-condition/statemachines-connection-receiver-condition.component.d.ts.map +1 -0
- package/components/statemachines/statemachines-connection-receiver-condition/statemachines-connection-receiver-condition.component.ngfactory.d.ts.map +1 -0
- package/components/statemachines/statemachines-connection-receiver-condition/statemachines-connection-receiver-condition.component.scss.shim.ngstyle.d.ts.map +1 -0
- package/components/statemachines/statemachines-connection-receiver-department/statemachines-connection-receiver-department.component.d.ts +3 -1
- package/components/statemachines/statemachines-connection-receiver-department/statemachines-connection-receiver-department.component.d.ts.map +1 -1
- package/components/statemachines/statemachines-connection-receiver-group/statemachines-connection-receiver-group.component.d.ts +3 -1
- package/components/statemachines/statemachines-connection-receiver-group/statemachines-connection-receiver-group.component.d.ts.map +1 -1
- package/components/statemachines/statemachines-connection-receiver-role/statemachines-connection-receiver-role.component.d.ts +6 -4
- package/components/statemachines/statemachines-connection-receiver-role/statemachines-connection-receiver-role.component.d.ts.map +1 -1
- package/components/statemachines/statemachines-connection-sender/statemachines-connection-sender.component.d.ts +3 -3
- package/components/statemachines/statemachines-connection-sender/statemachines-connection-sender.component.d.ts.map +1 -1
- package/components/user-picker/user-picker.component.d.ts +8 -2
- package/components/user-picker/user-picker.component.d.ts.map +1 -1
- package/components/workflow/models/models.d.ts +8 -8
- package/components/workflow/models/models.d.ts.map +1 -1
- package/components/workflow/process-workflow-form/process-workflow-form.component.d.ts +1 -1
- package/components/workflow/process-workflow-form/process-workflow-form.component.d.ts.map +1 -1
- package/components/workflow/process-workflow-target/process-workflow-target.component.d.ts +3 -6
- package/components/workflow/process-workflow-target/process-workflow-target.component.d.ts.map +1 -1
- package/components/workflow/workflow-history-new/workflow-history-new.component.d.ts +3 -3
- package/components/workflow/workflow-history-new/workflow-history-new.component.d.ts.map +1 -1
- package/configs/component-context.constant.d.ts +1 -0
- package/configs/component-context.constant.d.ts.map +1 -1
- package/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.d.ts +8 -3
- package/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.d.ts.map +1 -1
- package/congviec/congviec/congviec-form/congviec-form.component.d.ts +2 -0
- package/congviec/congviec/congviec-form/congviec-form.component.d.ts.map +1 -1
- package/congviec/congviec/congviec.component.d.ts.map +1 -1
- package/congviec/congviec/services/congviec-dinhkem.service.d.ts +8 -0
- package/congviec/congviec/services/congviec-dinhkem.service.d.ts.map +1 -1
- package/congviec/congviec/services/congviec.service.d.ts.map +1 -1
- package/esm2015/classes/base/data-form-base.js +6 -3
- package/esm2015/classes/base/data-list-base.js +13 -3
- package/esm2015/classes/form-schema.js +1 -1
- package/esm2015/components/crud/crud-form/crud-form.component.js +2 -1
- package/esm2015/components/crud/crud-list/crud-list.component.js +14 -8
- package/esm2015/components/entity-permission/services.cs/entity-permission.service.js +8 -5
- package/esm2015/components/file-explorer/file-manager/file-manager.component.js +17 -10
- package/esm2015/components/file-explorer/services/file-data.service.js +15 -15
- package/esm2015/components/query-builders/query-builder/query-builder.component.js +24 -7
- package/esm2015/components/query-builders/query-builder-group/query-builder-group.component.js +6 -2
- package/esm2015/components/query-builders/query-builder-rule/query-builder-rule.component.js +39 -3
- package/esm2015/components/share-link-by-permission/models/share-link-by-permission.js +1 -1
- package/esm2015/components/share-link-by-permission/share-link-by-permission.component.js +32 -2
- package/esm2015/components/statemachines/models/constants.js +2 -2
- package/esm2015/components/statemachines/statemachines-connection-metadata/statemachines-connection-metadata.component.js +9 -5
- package/esm2015/components/statemachines/statemachines-connection-receiver/statemachines-connection-receiver.component.js +19 -6
- package/esm2015/components/statemachines/statemachines-connection-receiver-condition/statemachines-connection-receiver-condition.component.js +179 -0
- package/esm2015/components/statemachines/statemachines-connection-receiver-department/statemachines-connection-receiver-department.component.js +32 -1
- package/esm2015/components/statemachines/statemachines-connection-receiver-group/statemachines-connection-receiver-group.component.js +32 -1
- package/esm2015/components/statemachines/statemachines-connection-receiver-role/statemachines-connection-receiver-role.component.js +39 -8
- package/esm2015/components/statemachines/statemachines-connection-sender/statemachines-connection-sender.component.js +19 -7
- package/esm2015/components/statemachines/utils/utils.js +6 -6
- package/esm2015/components/tn-app-help/tn-app-help.component.js +1 -1
- package/esm2015/components/tn-app-notification/tn-app-notification.component.js +2 -2
- package/esm2015/components/user-picker/user-picker.component.js +47 -6
- package/esm2015/components/workflow/models/models.js +1 -7
- package/esm2015/components/workflow/process-workflow-form/process-workflow-form.component.js +39 -42
- package/esm2015/components/workflow/process-workflow-target/process-workflow-target.component.js +7 -40
- package/esm2015/components/workflow/workflow-history-new/workflow-history-new.component.js +10 -12
- package/esm2015/configs/component-context.constant.js +3 -2
- package/esm2015/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.js +50 -14
- package/esm2015/congviec/congviec/congviec-form/congviec-form.component.js +13 -11
- package/esm2015/congviec/congviec/congviec.component.js +7 -6
- package/esm2015/congviec/congviec/services/congviec-dinhkem.service.js +57 -1
- package/esm2015/congviec/congviec/services/congviec.service.js +3 -3
- package/esm2015/services/base.service.js +4 -1
- package/esm2015/services/dm-chucvu.service.js +28 -0
- package/esm2015/services/role.service.js +1 -1
- package/esm2015/tnx-shared.js +69 -67
- package/esm2015/tnx-shared.module.js +3 -1
- package/fesm2015/tnx-shared.js +729 -216
- package/fesm2015/tnx-shared.js.map +1 -1
- package/package.json +2 -2
- package/services/base.service.d.ts +1 -0
- package/services/base.service.d.ts.map +1 -1
- package/services/dm-chucvu.service.d.ts +12 -0
- package/services/dm-chucvu.service.d.ts.map +1 -0
- package/services/dm-chucvu.service.ngfactory.d.ts.map +1 -0
- package/tnx-shared.d.ts +68 -66
- package/tnx-shared.d.ts.map +1 -1
- package/tnx-shared.metadata.json +1 -1
- package/tnx-shared.module.d.ts +2 -1
- package/tnx-shared.module.d.ts.map +1 -1
- package/tnx-shared.module.ngfactory.d.ts.map +1 -1
|
@@ -395,7 +395,8 @@
|
|
|
395
395
|
MENU_CHANGED: 'MENU_CHANGED',
|
|
396
396
|
ADVANCE_SEARCH_INIT_WITHOUT_UPDATE_ROUTER: 'ADVANCE_SEARCH_INIT_WITHOUT_UPDATE_ROUTER',
|
|
397
397
|
SHOW_WAIT_BOX: 'SHOW_WAIT_BOX',
|
|
398
|
-
SHOW_REJECT_CONFIRM: 'SHOW_REJECT_CONFIRM'
|
|
398
|
+
SHOW_REJECT_CONFIRM: 'SHOW_REJECT_CONFIRM',
|
|
399
|
+
GAN_ENTITY_SANG_CONG_VIEC: 'GAN_ENTITY_SANG_CONG_VIEC'
|
|
399
400
|
};
|
|
400
401
|
ComCtxConstants.ROOT_USMART = {
|
|
401
402
|
SHOW_CONFIG_DATA_DEFAULT: 'SHOW_CONFIG_DATA_DEFAULT',
|
|
@@ -6952,6 +6953,9 @@
|
|
|
6952
6953
|
BaseService.prototype.processWorkflow = function (id, actionCode, data) {
|
|
6953
6954
|
return this.defaultPost(this.serviceUri + "/ProcessWorkflow/" + id + "/" + actionCode, data);
|
|
6954
6955
|
};
|
|
6956
|
+
BaseService.prototype.getUserInProcessForm = function (workflowCode, stateCode, actionCode, itemId) {
|
|
6957
|
+
return this.defaultPost(this.serviceUri + "/GetUserInProcessFormBase/" + workflowCode + "/" + stateCode + "/" + actionCode + "/" + itemId, {});
|
|
6958
|
+
};
|
|
6955
6959
|
BaseService.prototype.handleError = function (error, injector) {
|
|
6956
6960
|
var commonService = injector.get(CommonService);
|
|
6957
6961
|
return commonService.handleError(error, injector);
|
|
@@ -10304,10 +10308,10 @@
|
|
|
10304
10308
|
var CongViecService = /** @class */ (function (_super) {
|
|
10305
10309
|
__extends(CongViecService, _super);
|
|
10306
10310
|
function CongViecService(http, injector, _moduleConfigService) {
|
|
10307
|
-
var _this = _super.call(this, http, injector, _moduleConfigService.getConfig().environment.apiDomain.congviecEndpoint + "/" + _moduleConfigService.getConfig().environment.apiVersion + "/
|
|
10311
|
+
var _this = _super.call(this, http, injector, _moduleConfigService.getConfig().environment.apiDomain.congviecEndpoint + "/" + _moduleConfigService.getConfig().environment.apiVersion + "/CongViec_Chinh") || this;
|
|
10308
10312
|
_this._moduleConfigService = _moduleConfigService;
|
|
10309
10313
|
_this.serviceCode = 'congviec';
|
|
10310
|
-
_this.entityName = '
|
|
10314
|
+
_this.entityName = 'CongViec_Chinh';
|
|
10311
10315
|
_this.objectName = 'công việc';
|
|
10312
10316
|
_this.endPoint = _moduleConfigService.getConfig().environment.apiDomain.congviecEndpoint;
|
|
10313
10317
|
return _this;
|
|
@@ -14107,6 +14111,7 @@
|
|
|
14107
14111
|
}
|
|
14108
14112
|
if (schema instanceof TitleSchema
|
|
14109
14113
|
|| schema instanceof LabelSchema) {
|
|
14114
|
+
schema.showLabel = false;
|
|
14110
14115
|
if (!schema.field) {
|
|
14111
14116
|
schema.field = this._commonService.guid();
|
|
14112
14117
|
}
|
|
@@ -16770,7 +16775,8 @@
|
|
|
16770
16775
|
defaultValue: defaultValue,
|
|
16771
16776
|
valueField: 'code',
|
|
16772
16777
|
displayField: 'title',
|
|
16773
|
-
mdWidth: 12,
|
|
16778
|
+
mdWidth: this.mdWidthWorkflow || 12,
|
|
16779
|
+
enableCaching: false,
|
|
16774
16780
|
hiddenCheck: function (rootModel) { return !rootModel || rootModel.createTaskInstead; }
|
|
16775
16781
|
}));
|
|
16776
16782
|
if (this.parentSetting.workflowSettingNew
|
|
@@ -17260,10 +17266,13 @@
|
|
|
17260
17266
|
if (resultValidateFormTask) {
|
|
17261
17267
|
this.model.data.itemCongViec = taskForm.model.data;
|
|
17262
17268
|
}
|
|
17263
|
-
// reset field _WorkflowCode để backend biết được chạy quy trình theo kiểu nào
|
|
17264
|
-
this.model.data._WorkflowCode = null;
|
|
17265
17269
|
_a.label = 2;
|
|
17266
|
-
case 2:
|
|
17270
|
+
case 2:
|
|
17271
|
+
if (this.model.data.createTaskInstead) {
|
|
17272
|
+
// reset field _WorkflowCode để backend không chạy quy trình bản ghi
|
|
17273
|
+
this.model.data._WorkflowCode = null;
|
|
17274
|
+
}
|
|
17275
|
+
return [4 /*yield*/, this.createConfirmIfRequire()];
|
|
17267
17276
|
case 3:
|
|
17268
17277
|
confirmed = _a.sent();
|
|
17269
17278
|
if (!confirmed)
|
|
@@ -18725,6 +18734,7 @@
|
|
|
18725
18734
|
_this.onProcessedWorkflow = new i0.EventEmitter();
|
|
18726
18735
|
_this.onRollbackedWorkflow = new i0.EventEmitter();
|
|
18727
18736
|
_this.onChangedStatusWorkflow = new i0.EventEmitter();
|
|
18737
|
+
_this.onShowFormStartWorkflow = new i0.EventEmitter();
|
|
18728
18738
|
_this.tableReady = new rxjs.Subject();
|
|
18729
18739
|
_this.tableReadySource$ = _this.tableReady.asObservable();
|
|
18730
18740
|
_this.checkedAll = null;
|
|
@@ -19694,6 +19704,7 @@
|
|
|
19694
19704
|
}
|
|
19695
19705
|
};
|
|
19696
19706
|
this.congViecModel.showEditForm = true;
|
|
19707
|
+
this.onShowFormStartWorkflow.emit(rowData);
|
|
19697
19708
|
return [3 /*break*/, 4];
|
|
19698
19709
|
case 3:
|
|
19699
19710
|
if (workflowSetting.workflows.length == 1) {
|
|
@@ -19738,16 +19749,16 @@
|
|
|
19738
19749
|
case 2:
|
|
19739
19750
|
this.buttonContexts = [
|
|
19740
19751
|
{
|
|
19741
|
-
label: "Xem
|
|
19742
|
-
icon: 'pi pi-
|
|
19743
|
-
command: function () { return _this.
|
|
19752
|
+
label: "Xem chi ti\u1EBFt c\u00F4ng vi\u1EC7c",
|
|
19753
|
+
icon: 'pi pi-list',
|
|
19754
|
+
command: function () { return _this.viewTaskDetail(rowData); }
|
|
19744
19755
|
}
|
|
19745
19756
|
];
|
|
19746
19757
|
if (rowData.__workflowCode != DummyWorkflowCode) {
|
|
19747
19758
|
this.buttonContexts.unshift({
|
|
19748
|
-
label: "Xem
|
|
19749
|
-
icon: 'pi pi-
|
|
19750
|
-
command: function () { return _this.
|
|
19759
|
+
label: "Xem l\u1ECBch s\u1EED",
|
|
19760
|
+
icon: 'pi pi-calendar',
|
|
19761
|
+
command: function () { return _this.viewTaskHistory(rowData); }
|
|
19751
19762
|
});
|
|
19752
19763
|
}
|
|
19753
19764
|
this._showContextMenu(evt);
|
|
@@ -20320,6 +20331,9 @@
|
|
|
20320
20331
|
return __awaiter(this, void 0, void 0, function () {
|
|
20321
20332
|
var rowData;
|
|
20322
20333
|
return __generator(this, function (_b) {
|
|
20334
|
+
if (!this.setting.checkReadyToTrinhKy()) {
|
|
20335
|
+
return [2 /*return*/, this._notifierService.showWarning('Đang tải dữ liệu danh sách, chờ một lúc rồi thử lại')];
|
|
20336
|
+
}
|
|
20323
20337
|
rowData = this.rowDataCurrent;
|
|
20324
20338
|
this.showShareLinkForm([rowData]);
|
|
20325
20339
|
return [2 /*return*/];
|
|
@@ -21740,18 +21754,22 @@
|
|
|
21740
21754
|
onStartedWorkflow: [{ type: i0.Output }],
|
|
21741
21755
|
onProcessedWorkflow: [{ type: i0.Output }],
|
|
21742
21756
|
onRollbackedWorkflow: [{ type: i0.Output }],
|
|
21743
|
-
onChangedStatusWorkflow: [{ type: i0.Output }]
|
|
21757
|
+
onChangedStatusWorkflow: [{ type: i0.Output }],
|
|
21758
|
+
onShowFormStartWorkflow: [{ type: i0.Output }]
|
|
21744
21759
|
};
|
|
21745
21760
|
|
|
21746
21761
|
var EntityPermissionService = /** @class */ (function (_super) {
|
|
21747
21762
|
__extends(EntityPermissionService, _super);
|
|
21748
21763
|
function EntityPermissionService(http, injector, _moduleConfigService) {
|
|
21749
|
-
var _this = _super.call(this, http, injector, _moduleConfigService.getConfig().environment.apiDomain.userOrgEndpoint + "/EntityPermission") || this;
|
|
21764
|
+
var _this = _super.call(this, http, injector, _moduleConfigService.getConfig().environment.apiDomain.userOrgEndpoint + "/" + _moduleConfigService.getConfig().environment.apiVersion + "/EntityPermission") || this;
|
|
21750
21765
|
_this.serviceManagers = {};
|
|
21751
21766
|
_this.endPoint = _moduleConfigService.getConfig().environment.apiDomain.userOrgEndpoint;
|
|
21752
21767
|
_this._moduleConfig = _moduleConfigService.getConfig();
|
|
21753
21768
|
return _this;
|
|
21754
21769
|
}
|
|
21770
|
+
EntityPermissionService.prototype.getEndpointByService = function (service) {
|
|
21771
|
+
return service.endPoint + "/" + this._moduleConfig.environment.apiVersion;
|
|
21772
|
+
};
|
|
21755
21773
|
EntityPermissionService.prototype.registerService = function (entityName, service) {
|
|
21756
21774
|
this.serviceManagers[entityName] = service;
|
|
21757
21775
|
};
|
|
@@ -21760,15 +21778,15 @@
|
|
|
21760
21778
|
if (service == undefined) {
|
|
21761
21779
|
(this._injector.get(NotifierService)).showWarning('Bạn chưa đăng ký base service cho entity permission service');
|
|
21762
21780
|
}
|
|
21763
|
-
return this.defaultPost(service
|
|
21781
|
+
return this.defaultPost(this.getEndpointByService(service) + "/EntityPermission/GetPermission/" + service.entityName, {});
|
|
21764
21782
|
};
|
|
21765
21783
|
EntityPermissionService.prototype.savePermission = function (tableName, data) {
|
|
21766
21784
|
var service = this.serviceManagers[tableName];
|
|
21767
|
-
return this.defaultPost(service
|
|
21785
|
+
return this.defaultPost(this.getEndpointByService(service) + "/EntityPermission/SavePermission/" + service.entityName, data);
|
|
21768
21786
|
};
|
|
21769
21787
|
EntityPermissionService.prototype.removePermission = function (tableName) {
|
|
21770
21788
|
var service = this.serviceManagers[tableName];
|
|
21771
|
-
return this.defaultPost(service
|
|
21789
|
+
return this.defaultPost(this.getEndpointByService(service) + "/EntityPermission/RemovePermission/" + service.entityName, {});
|
|
21772
21790
|
};
|
|
21773
21791
|
return EntityPermissionService;
|
|
21774
21792
|
}(BaseService));
|
|
@@ -22443,7 +22461,8 @@
|
|
|
22443
22461
|
});
|
|
22444
22462
|
});
|
|
22445
22463
|
};
|
|
22446
|
-
DataListBase.prototype._copyLink = function (rowData) {
|
|
22464
|
+
DataListBase.prototype._copyLink = function (rowData, showNoti) {
|
|
22465
|
+
if (showNoti === void 0) { showNoti = true; }
|
|
22447
22466
|
return __awaiter(this, void 0, void 0, function () {
|
|
22448
22467
|
var path;
|
|
22449
22468
|
return __generator(this, function (_a) {
|
|
@@ -22452,12 +22471,26 @@
|
|
|
22452
22471
|
case 1:
|
|
22453
22472
|
path = _a.sent();
|
|
22454
22473
|
this._commonService.copyByStorage(path);
|
|
22455
|
-
|
|
22474
|
+
if (showNoti) {
|
|
22475
|
+
this._notifierService.showSuccess('Đã sao chép liên kết');
|
|
22476
|
+
}
|
|
22456
22477
|
return [2 /*return*/];
|
|
22457
22478
|
}
|
|
22458
22479
|
});
|
|
22459
22480
|
});
|
|
22460
22481
|
};
|
|
22482
|
+
DataListBase.prototype._onShowFormStartWorkflow = function (rowData) {
|
|
22483
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
22484
|
+
var _this = this;
|
|
22485
|
+
return __generator(this, function (_a) {
|
|
22486
|
+
// Fire event gắn link công việc
|
|
22487
|
+
this._copyLink(rowData, false).then(function (x) {
|
|
22488
|
+
_this.rootContext.fireReplayEvent(ComCtxConstants.ROOT.GAN_ENTITY_SANG_CONG_VIEC);
|
|
22489
|
+
});
|
|
22490
|
+
return [2 /*return*/];
|
|
22491
|
+
});
|
|
22492
|
+
});
|
|
22493
|
+
};
|
|
22461
22494
|
DataListBase.prototype.getCopyPath = function (rowData) {
|
|
22462
22495
|
return __awaiter(this, void 0, void 0, function () {
|
|
22463
22496
|
var locationStrategy, state, baseHref, path, displayField, linkColumn;
|
|
@@ -33104,10 +33137,14 @@
|
|
|
33104
33137
|
&& (this.value == null || this.value == '')) {
|
|
33105
33138
|
return null;
|
|
33106
33139
|
}
|
|
33140
|
+
var value = this.value;
|
|
33141
|
+
if (this.funcGetValue) {
|
|
33142
|
+
value = this.funcGetValue(this);
|
|
33143
|
+
}
|
|
33107
33144
|
return new Filter({
|
|
33108
33145
|
field: this.field,
|
|
33109
33146
|
operator: this.compareType,
|
|
33110
|
-
value: JSON.stringify(
|
|
33147
|
+
value: JSON.stringify(value)
|
|
33111
33148
|
});
|
|
33112
33149
|
};
|
|
33113
33150
|
QueryRule.prototype.isGroup = function () {
|
|
@@ -33362,14 +33399,26 @@
|
|
|
33362
33399
|
itemSourceField.controlType = 'datetime';
|
|
33363
33400
|
}
|
|
33364
33401
|
else if (schema instanceof NumberRangeControlSchema) {
|
|
33365
|
-
|
|
33402
|
+
var operators = itemSourceField.control['operators'];
|
|
33403
|
+
if (!operators || !operators.length) {
|
|
33404
|
+
itemSourceField.operators = operatorDateAndNumber;
|
|
33405
|
+
}
|
|
33406
|
+
else {
|
|
33407
|
+
itemSourceField.operators = operators;
|
|
33408
|
+
}
|
|
33366
33409
|
itemSourceField.controlType = 'number';
|
|
33367
33410
|
}
|
|
33368
33411
|
else if (schema instanceof DropdownControlSchema || schema instanceof CheckBoxListControlSchema) {
|
|
33369
|
-
|
|
33370
|
-
|
|
33371
|
-
|
|
33372
|
-
|
|
33412
|
+
var operators = itemSourceField.control['operators'];
|
|
33413
|
+
if (!operators || !operators.length) {
|
|
33414
|
+
itemSourceField.operators = [
|
|
33415
|
+
{ id: exports.Operator.in, ten: 'Nằm trong' },
|
|
33416
|
+
{ id: exports.Operator.notIn, ten: 'Không nằm trong' }
|
|
33417
|
+
];
|
|
33418
|
+
}
|
|
33419
|
+
else {
|
|
33420
|
+
itemSourceField.operators = __spread(operators);
|
|
33421
|
+
}
|
|
33373
33422
|
if (schema.hasOperatorCanBo) {
|
|
33374
33423
|
itemSourceField.operators.push({
|
|
33375
33424
|
id: exports.Operator.isCurrentCanBo, ten: 'Là cán bộ hiện tại', _disabled: true
|
|
@@ -33399,6 +33448,11 @@
|
|
|
33399
33448
|
];
|
|
33400
33449
|
itemSourceField.controlType = 'autocomplete-picker';
|
|
33401
33450
|
}
|
|
33451
|
+
else if (schema instanceof CustomControlSchema) {
|
|
33452
|
+
var operators = itemSourceField.control['operators'];
|
|
33453
|
+
itemSourceField.operators = operators ? operators : [];
|
|
33454
|
+
itemSourceField.controlType = 'custom';
|
|
33455
|
+
}
|
|
33402
33456
|
else { // Là textbox
|
|
33403
33457
|
itemSourceField.operators = [
|
|
33404
33458
|
{ id: exports.Operator.equal, ten: 'Bằng' },
|
|
@@ -34892,6 +34946,10 @@
|
|
|
34892
34946
|
this.data.breadcrumbs = [];
|
|
34893
34947
|
this._dataSource = [];
|
|
34894
34948
|
};
|
|
34949
|
+
FileManagerComponent.prototype.setRootFolderId = function (rootFolderId) {
|
|
34950
|
+
this.rootFolderId = rootFolderId;
|
|
34951
|
+
this.data.currentFolderId = this.rootFolderId;
|
|
34952
|
+
};
|
|
34895
34953
|
FileManagerComponent.prototype.setDatasource = function (dataSource) {
|
|
34896
34954
|
if (dataSource === void 0) { dataSource = []; }
|
|
34897
34955
|
this._dataSource = dataSource;
|
|
@@ -35068,7 +35126,7 @@
|
|
|
35068
35126
|
command: function (event) {
|
|
35069
35127
|
_this.openObject(item);
|
|
35070
35128
|
},
|
|
35071
|
-
visible: this._deviceDetectorService.isDesktop()
|
|
35129
|
+
visible: (this._deviceDetectorService.isDesktop() && !(this.layout === exports.EnumFileLayout.SIMPLE && this.readonly))
|
|
35072
35130
|
},
|
|
35073
35131
|
{
|
|
35074
35132
|
label: 'Ký số cá nhân (SIM)',
|
|
@@ -35076,33 +35134,35 @@
|
|
|
35076
35134
|
command: function () {
|
|
35077
35135
|
_this.signKySimFile(item);
|
|
35078
35136
|
},
|
|
35079
|
-
visible:
|
|
35137
|
+
visible: this._fileObjectService.isTypeFileKySo(item.name)
|
|
35080
35138
|
},
|
|
35081
35139
|
{
|
|
35082
35140
|
label: 'Ký số cá nhân (USB)', icon: 'fas fa-signature',
|
|
35083
35141
|
command: function () {
|
|
35084
35142
|
_this.signFile(item);
|
|
35085
35143
|
},
|
|
35086
|
-
visible:
|
|
35144
|
+
visible: this._fileObjectService.isTypeFileKySo(item.name)
|
|
35087
35145
|
},
|
|
35088
35146
|
{
|
|
35089
35147
|
label: 'Ký số đơn vị (USB)', icon: 'fas fa-signature',
|
|
35090
35148
|
command: function () {
|
|
35091
35149
|
_this.signFileDonVi(item);
|
|
35092
35150
|
},
|
|
35093
|
-
visible:
|
|
35151
|
+
visible: this._fileObjectService.isTypeFileKySo(item.name)
|
|
35094
35152
|
},
|
|
35095
35153
|
{
|
|
35096
35154
|
label: 'Tải về', icon: 'fas fa-download',
|
|
35097
35155
|
command: function () {
|
|
35098
35156
|
_this.download(item);
|
|
35099
|
-
}
|
|
35157
|
+
},
|
|
35158
|
+
visible: !(this.layout === exports.EnumFileLayout.SIMPLE && this.readonly)
|
|
35100
35159
|
},
|
|
35101
35160
|
{
|
|
35102
35161
|
label: 'Sao chép đường dẫn', icon: 'fas fa-link',
|
|
35103
35162
|
command: function () {
|
|
35104
35163
|
_this.copyDownloadLink(item);
|
|
35105
|
-
}
|
|
35164
|
+
},
|
|
35165
|
+
visible: !(this.layout === exports.EnumFileLayout.SIMPLE && this.readonly)
|
|
35106
35166
|
},
|
|
35107
35167
|
{
|
|
35108
35168
|
label: 'Đổi tên', icon: 'fas fa-eraser',
|
|
@@ -35115,7 +35175,8 @@
|
|
|
35115
35175
|
label: 'Xem các phiên bản khác', icon: 'fas fa-history',
|
|
35116
35176
|
command: function () {
|
|
35117
35177
|
_this.openFileVersions(item);
|
|
35118
|
-
}
|
|
35178
|
+
},
|
|
35179
|
+
visible: !(this.layout === exports.EnumFileLayout.SIMPLE && this.readonly)
|
|
35119
35180
|
},
|
|
35120
35181
|
{
|
|
35121
35182
|
label: 'Xóa tệp tin', icon: 'far fa-trash-alt',
|
|
@@ -35852,7 +35913,7 @@
|
|
|
35852
35913
|
{ type: i0.Component, args: [{
|
|
35853
35914
|
// tslint:disable-next-line: component-selector
|
|
35854
35915
|
selector: 'file-manager',
|
|
35855
|
-
template: "<div *ngIf=\"layout == _layout.LIST\" class=\"full-layout\">\r\n <div class=\"fm-toolbar\">\r\n <div class=\"fm-toolbar-buttons\">\r\n <ng-container *ngIf=\"!readonly\">\r\n <button *ngIf=\"!hiddenCreateFolder\" pButton pRipple type=\"button\" pTooltip=\"T\u1EA1o th\u01B0 m\u1EE5c m\u1EDBi\"\r\n tooltipPosition=\"top\" icon=\"pi pi-folder\" class=\"p-button-text\" label=\"T\u1EA1o th\u01B0 m\u1EE5c\" iconPos=\"left\"\r\n (click)=\"createFolder()\">\r\n </button>\r\n\r\n <button pButton icon=\"pi pi-cloud-upload\" pTooltip=\"T\u1EA3i t\u1EC7p tin t\u1EEB m\u00E1y t\u00EDnh c\u1EE7a b\u1EA1n\"\r\n tooltipPosition=\"top\" type=\"button\" class=\"p-button-text p-button-primary\" label=\"T\u1EA3i l\u00EAn\"\r\n (click)=\"selectFile()\"></button>\r\n\r\n <button pButton icon=\"pi pi-link\" pTooltip=\"T\u1EA3i t\u1EEB li\u00EAn k\u1EBFt trong h\u1EC7 th\u1ED1ng\" tooltipPosition=\"top\"\r\n type=\"button\" class=\"p-button-text p-button-primary\" label=\"T\u1EA3i li\u00EAn k\u1EBFt\"\r\n (click)=\"showAttachLinkBox = true\"></button>\r\n\r\n <button *ngIf=\"canSelect()\" class=\"p-button-text p-button-success\" pButton type=\"button\"\r\n pTooltip=\"Di chuy\u1EC3n th\u01B0 m\u1EE5c/t\u1EC7p tin \u0111\u00E3 ch\u1ECDn\" tooltipPosition=\"top\" icon=\"fas fa-arrows-alt\"\r\n iconPos=\"left\" label=\"Di chuy\u1EC3n\" (click)=\"moveExplorerItems()\">\r\n </button>\r\n\r\n <button *ngIf=\"canSetMove()\" class=\"p-button-text p-button-success\" pButton type=\"button\"\r\n pTooltip=\"Di chuy\u1EC3n th\u01B0 m\u1EE5c/t\u1EC7p tin \u0111\u00E3 ch\u1ECDn t\u1EDBi \u0111\u00E2y\" tooltipPosition=\"top\" icon=\"far fa-hand-paper\"\r\n iconPos=\"left\" label=\"\u0110\u1EB7t t\u1EA1i \u0111\u00E2y\" (click)=\"setMoveExplorerItems()\">\r\n </button>\r\n\r\n <button *ngIf=\"canSetMove()\" icon=\"pi pi-undo\" pButton class=\"p-button-text p-button-secondary\"\r\n type=\"button\" pTooltip=\"B\u1ECF di chuy\u1EC3n th\u01B0 m\u1EE5c/t\u1EC7p tin \u0111\u00E3 ch\u1ECDn\" tooltipPosition=\"top\" label=\"B\u1ECF qua\"\r\n (click)=\"cancelMove()\">\r\n </button>\r\n\r\n <button *ngIf=\"hasSelect()\" pButton type=\"button\"\r\n pTooltip=\"{{ 'X\u00F3a th\u01B0 m\u1EE5c/t\u1EC7p tin \u0111\u00E3 ch\u1ECDn' | translate }}\" tooltipPosition=\"top\" icon=\"pi pi-trash\"\r\n iconPos=\"left\" class=\"p-button-text p-button-danger\" label=\"X\u00F3a\"\r\n (click)=\"deleteMutiple(model.selectedItems)\"></button>\r\n </ng-container>\r\n <button *ngIf=\"readonly && hasSelect()\" class=\"p-button-text p-button-secondary\" pButton type=\"button\"\r\n pTooltip=\"N\u00E9n & t\u1EA3i v\u1EC1\" tooltipPosition=\"top\" icon=\"fas fa-file-archive\" iconPos=\"left\" label=\"T\u1EA3i v\u1EC1\"\r\n (click)=\"downloadMultiple()\">\r\n </button>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"breadCrumb\"></ng-container>\r\n </div>\r\n\r\n <div class=\"fm-grid\">\r\n <crud-list #crudList [model]=\"model\" [setting]=\"setting\" [dataSource]=\"_dataSource\"\r\n [disableKeypressControl]=\"true\" [showScrollBar]=\"false\" class=\"--auto-height-content --no-wrapper-padding\"\r\n [widthFunctionColumn]=\"'8.2rem'\" (onReload)=\"_triggerProcessData($event)\"\r\n (onRowSelect)=\"onRowSelect($event)\">\r\n\r\n <ng-template #explorerItem let-rowData='rowData' let-col='col'>\r\n <span (click)=\"openObject(rowData)\" class=\"pull-left file-ex-icon\"\r\n [innerHTML]=\"rowData.name | fileIcon : !rowData.isFile\">\r\n </span>\r\n\r\n <span (click)=\"openObject(rowData)\" class=\"{{rowData.class}} file-ex-name\">\r\n {{rowData.name}}\r\n </span>\r\n <span *ngIf=\"rowData.signatures\" class=\"pull-right signature\" pTooltip=\"Xem chi ti\u1EBFt k\u00FD s\u1ED1\"\r\n tooltipPosition=\"top\" (click)=\"viewListSign($event, rowData.signatures)\">\r\n <i class=\"fas fa-signature\"></i>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template #fileSize let-rowData='rowData'>\r\n <div *ngIf=\"rowData.isFile\">{{rowData.fileSize | fileSize}}</div>\r\n </ng-template>\r\n\r\n <ng-template #function let-rowData=\"rowData\" let-crudList=\"crudList\">\r\n <div class=\"function-list\">\r\n <ng-container *ngIf=\"!readonly\">\r\n <button class=\"p-button-rounded p-button-text link-or-action\" pButton type=\"button\"\r\n tooltipPosition=\"top\" pTooltip=\"{{getButtonTooltip(rowData)}}\"\r\n icon=\"{{getButtonIcon(rowData)}}\" (click)=\"onButtonClick(rowData)\"></button>\r\n\r\n <button class=\"p-button-danger p-button-rounded p-button-text link-or-action\" pButton\r\n type=\"button\" pTooltip=\"X\u00F3a\" tooltipPosition=\"top\" icon=\"pi pi-trash\"\r\n (click)=\"deleteFile(rowData)\"></button>\r\n\r\n\r\n <button type=\"button\" pButton icon=\"pi pi-ellipsis-v\"\r\n class=\"link-or-action p-button-text p-button-rounded\" pTooltip=\"Th\u00EAm\" tooltipPosition=\"top\"\r\n (click)=\"showContextMenu($event, rowData)\"></button>\r\n </ng-container>\r\n <button *ngIf=\"readonly\" class=\"p-button-secondary p-button-rounded p-button-text link-or-action\"\r\n pButton type=\"button\" pTooltip=\"T\u1EA3i v\u1EC1\" tooltipPosition=\"top\" icon=\"pi pi-cloud-download\"\r\n (click)=\"download(rowData)\"></button>\r\n <button *ngIf=\"readonly\" class=\"p-button-secondary p-button-rounded p-button-text link-or-action\"\r\n pButton type=\"button\" pTooltip=\"Sao ch\u00E9p \u0111\u01B0\u1EDDng d\u1EABn\" tooltipPosition=\"top\" icon=\"pi pi-link\"\r\n (click)=\"copyDownloadLink(rowData)\"></button>\r\n </div>\r\n </ng-template>\r\n </crud-list>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"layout == _layout.SIMPLE\" class=\"not-full-layout\" [class.readonly]=\"readonly\">\r\n <div *ngIf=\"!readonly || data.breadcrumbs.length > 0\" class=\"fm-toolbar\">\r\n <div class=\"fm-toolbar-buttons\">\r\n <ng-container *ngIf=\"!readonly\">\r\n <button *ngIf=\"!hiddenCreateFolder\" (click)=\"createFolder()\" pButton pRipple type=\"button\"\r\n pTooltip=\"T\u1EA1o th\u01B0 m\u1EE5c m\u1EDBi\" tooltipPosition=\"top\" icon=\"pi pi-folder\" class=\"p-button-text\"\r\n label=\"T\u1EA1o th\u01B0 m\u1EE5c\" iconPos=\"left\">\r\n </button>\r\n <button type=\"button\" pButton class=\"p-button-text p-button-info link-or-action\"\r\n icon=\"pi pi-cloud-upload\" (click)=\"selectFile()\" label=\"T\u1EA3i l\u00EAn\"></button>\r\n <button pButton icon=\"pi pi-link\" pTooltip=\"T\u1EA3i t\u1EEB li\u00EAn k\u1EBFt trong h\u1EC7 th\u1ED1ng\" tooltipPosition=\"top\"\r\n type=\"button\" class=\"p-button-text p-button-primary\" label=\"T\u1EA3i li\u00EAn k\u1EBFt\"\r\n (click)=\"showAttachLinkBox = true\"></button>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"breadCrumb\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nfl-grid\">\r\n <div *ngFor=\"let rowData of _dataSource; index as i\" class=\"nfl-item\">\r\n <div class=\"nfl-no\">\r\n {{i + 1}}.\r\n </div>\r\n\r\n <div class=\"nfl-name\">\r\n <span class=\"pull-left file-ex-icon\" [innerHTML]=\"rowData.name | fileIcon : !rowData.isFile\">\r\n </span>\r\n <!-- <a (click)=\"openObject(rowData)\" class=\"{{rowData.class}} file-ex-name\">\r\n <span>{{rowData.nameWithoutExtension}}</span>\r\n <div *ngIf=\"rowData.signatures\" class=\"signature\" pTooltip=\"Xem chi ti\u1EBFt k\u00FD s\u1ED1\"\r\n tooltipPosition=\"top\" (click)=\"viewListSign($event, rowData.signatures)\">\r\n <i class=\"fas fa-signature\"></i>\r\n </div>\r\n </a>\r\n <a (click)=\"openObject(rowData)\" class=\"file-ex-extension\">{{rowData.extension}}</a> -->\r\n\r\n <a (click)=\"openObject(rowData)\" class=\"{{rowData.class}} file-ex-name\">\r\n <span>\r\n <span>{{rowData.nameWithoutExtension}}</span>\r\n <div *ngIf=\"rowData.signatures\" class=\"signature\" pTooltip=\"Xem chi ti\u1EBFt k\u00FD s\u1ED1\"\r\n tooltipPosition=\"top\" (click)=\"viewListSign($event, rowData.signatures)\">\r\n <i class=\"fas fa-signature\"></i>\r\n </div>\r\n </span>\r\n <span class=\"file-ex-extension\">{{rowData.extension}}</span>\r\n </a>\r\n </div>\r\n\r\n <div *ngIf=\"rowData.isFile\" class=\"nfl-version\">\r\n v{{rowData.currentFileVersion}}\r\n </div>\r\n\r\n <div class=\"nfl-function\">\r\n <ng-container *ngIf=\"!readonly\">\r\n <button class=\"p-button-rounded p-button-text link-or-action\" (click)=\"onButtonClick(rowData)\"\r\n pButton type=\"button\" tooltipPosition=\"top\" pTooltip=\"{{getButtonTooltip(rowData)}}\"\r\n icon=\"{{getButtonIcon(rowData)}}\"></button>\r\n\r\n <button class=\"p-button-danger p-button-rounded p-button-text link-or-action\"\r\n (click)=\"deleteFile(rowData)\" pButton type=\"button\" pTooltip=\"X\u00F3a\" tooltipPosition=\"top\"\r\n icon=\"pi pi-trash\"></button>\r\n\r\n <button type=\"button\" pButton icon=\"pi pi-ellipsis-v\"\r\n class=\"link-or-action p-button-text p-button-rounded\" pTooltip=\"Th\u00EAm\" tooltipPosition=\"top\"\r\n (click)=\"showContextMenu($event, rowData)\"></button>\r\n </ng-container>\r\n\r\n <button *ngIf=\"readonly\" class=\"p-button-secondary p-button-rounded p-button-text link-or-action\"\r\n (click)=\"download(rowData)\" pButton type=\"button\" pTooltip=\"T\u1EA3i v\u1EC1\" tooltipPosition=\"top\"\r\n icon=\"pi pi-cloud-download\"></button>\r\n <button *ngIf=\"readonly\" class=\"p-button-secondary p-button-rounded p-button-text link-or-action\"\r\n pButton type=\"button\" pTooltip=\"Sao ch\u00E9p \u0111\u01B0\u1EDDng d\u1EABn\" tooltipPosition=\"top\" icon=\"pi pi-link\"\r\n (click)=\"copyDownloadLink(rowData)\"></button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!_dataSource || !_dataSource.length\" class=\"nfl-no-item\">\r\n Ch\u01B0a c\u00F3 t\u00E0i li\u1EC7u \u0111\u01B0\u1EE3c t\u1EA3i l\u00EAn\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #breadCrumb>\r\n <div *ngIf=\"data.breadcrumbs.length > 0\" class=\"fm-toolbar-path\">\r\n <p-breadcrumb class=\"customBreadCrumb\" [model]=\"data.breadcrumbs\"></p-breadcrumb>\r\n </div>\r\n</ng-template>\r\n\r\n<p-fileUpload #fileControl [ngStyle]=\"{'display': 'none'}\" mode=\"basic\" [chooseLabel]=\"chooseLabel\" name=\"file\"\r\n [url]=\"apiUploadUrl\" [maxFileSize]=\"maxFileSize\" auto=\"true\"\r\n [invalidFileSizeMessageSummary]=\"invalidFileSizeMessageSummary\"\r\n [invalidFileSizeMessageDetail]=\"invalidFileSizeMessageDetail\"\r\n [invalidFileTypeMessageSummary]=\"invalidFileTypeMessageSummary\"\r\n [invalidFileTypeMessageDetail]=\"invalidFileTypeMessageDetail\"\r\n [invalidFileLimitMessageSummary]=\"invalidFileLimitMessageSummary\"\r\n [invalidFileLimitMessageDetail]=\"invalidFileLimitMessageDetail\" (onProgress)=\"onUploadProgress($event)\"\r\n (onBeforeUpload)=\"onBeforeUpload($event)\" (onSelect)=\"handleSelectFile($event)\" (onUpload)=\"onUploaded($event)\">\r\n</p-fileUpload>\r\n<p-contextMenu #contextMenu [appendTo]=\"'body'\" [model]=\"data.itemsMenuFile\" styleClass=\"fm-contextMenu-panel\">\r\n</p-contextMenu>\r\n\r\n<!-- T\u1EA1o m\u1EDBi/ \u0111\u1ED5i t\u00EAn th\u01B0 m\u1EE5c -->\r\n<tn-dialog *ngIf=\"forms.createFolder.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.createFolder.header | translate\" [popupSize]=\"forms[formIds.createFolder].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.createFolder)\">\r\n <folder-form #formBase [parentModel]=\"model\" [parentContext]=\"context\"\r\n [model]=\"forms[formIds.createFolder].formData\" (onSaved)=\"onSavedForm(formIds.createFolder)\"\r\n (onCancel)=\"onCancelForm(formIds.createFolder)\">\r\n </folder-form>\r\n</tn-dialog>\r\n\r\n<!-- \u0110\u1ED5i t\u00EAn file -->\r\n<tn-dialog *ngIf=\"forms.renameFile.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.renameFile.header | translate\" [popupSize]=\"forms[formIds.renameFile].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.renameFile)\">\r\n <file-form #formBase [parentModel]=\"model\" [parentContext]=\"context\" [model]=\"forms[formIds.renameFile].formData\"\r\n (onSaved)=\"onSavedForm(formIds.renameFile)\" (onCancel)=\"onCancelForm(formIds.renameFile)\">\r\n </file-form>\r\n</tn-dialog>\r\n\r\n<!-- Xem file tr\u1EF1c tuy\u1EBFn -->\r\n<file-viewer *ngIf=\"forms.fileViewer.show\" [parentModel]=\"model\" [parentContext]=\"context\" [readonly]=\"readonly\"\r\n [model]=\"forms.fileViewer.formData\" (onClose)=\"closeFileViewer()\">\r\n</file-viewer>\r\n\r\n<!-- Xem phi\u00EAn b\u1EA3n -->\r\n<tn-dialog *ngIf=\"forms.fileVersionList.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.fileVersionList.header | translate\" [popupSize]=\"forms[formIds.fileVersionList].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.fileVersionList)\">\r\n <file-version-list *ngIf=\"forms.fileVersionList.show\" [parentModel]=\"model\" [parentContext]=\"context\"\r\n [fileId]=\"forms[formIds.fileVersionList].fileId\" [readonly]=\"readonly\">\r\n </file-version-list>\r\n</tn-dialog>\r\n\r\n<tn-dialog *ngIf=\"showAttachLinkBox\" #dialog2 [maximizable]=\"false\" [header]=\"'Nh\u1EADp li\u00EAn k\u1EBFt' | translate\"\r\n [popupSize]=\"{ width: 600, height: 50}\" (onHide)=\"showAttachLinkBox = false; typedLink=''\">\r\n <div class=\"p-col-12\">\r\n <div class=\"p-grid\">\r\n <div class=\"p-md-10\">\r\n <input #input type=\"text\" placeholder=\"Nh\u1EADp li\u00EAn k\u1EBFt sao ch\u00E9p t\u1EEB t\u1EC7p tin kh\u00E1c...\"\r\n (keyup.enter)=\"addAttachLink()\" pInputText [(ngModel)]=\"typedLink\" class=\"p-col-12\" />\r\n </div>\r\n <div class=\"p-md-2\">\r\n <button type=\"button\" (click)=\"addAttachLink()\" [disabled]=\"typedLink != ''? null : true\" pButton\r\n class=\"p-button-primary p-col-12\" label=\"Ok\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n <after-view-checked (loaded)=\"focusInput(input)\"></after-view-checked>\r\n</tn-dialog>\r\n<!--\r\n\r\n<share-file *ngIf=\"forms.shareFile.show\" [parentDataModel]=\"model\" [parentDataContext]=\"context\"\r\n [model]=\"forms.shareFile.formData\">\r\n</share-file>\r\n\r\n<share-folder *ngIf=\"forms.shareFolder.show\" [parentDataModel]=\"model\" [parentDataContext]=\"context\"\r\n [model]=\"forms.shareFolder.formData\">\r\n</share-folder>\r\n -->\r\n\r\n<!-- Xem ch\u1EEF k\u00FD s\u1ED1 -->\r\n<tn-dialog *ngIf=\"forms.signatureDetail.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.signatureDetail.header | translate\" [popupSize]=\"forms[formIds.signatureDetail].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.signatureDetail)\">\r\n <signature-detail [parentModel]=\"model\" [parentContext]=\"context\">\r\n </signature-detail>\r\n</tn-dialog>\r\n<!--K\u00FD s\u1ED1 sim-->\r\n<tn-dialog *ngIf=\"forms.kySoSim.show\" #dialog [styleClass]=\"'address-form'\" [header]=\"forms.kySoSim.header | translate\"\r\n [popupSize]=\"forms.kySoSim.popupSize\" [showFooter]=\"true\" (onHide)=\"onCancelForm(formIds.kySoSim)\">\r\n <app-file-ky-so-sim #fileKySoSim [parentModel]=\"model\" [parentContext]=\"context\">\r\n </app-file-ky-so-sim>\r\n <ng-template #footer>\r\n <button type=\"button\" pButton icon=\"fas fa-images\" [disabled]=\"model.submitting\" class=\"p-button-text\"\r\n [label]=\"'Ch\u1ECDn ch\u1EEF k\u00FD' | translate\" (click)=\"chonChuKy()\"></button>\r\n <button type=\"button\" pButton icon=\"fas fa-signature\" class=\"p-button-text ui-button-success\"\r\n [disabled]=\"model.submitting\" [label]=\"'Th\u1EF1c hi\u1EC7n k\u00FD' | translate\" (click)=\"kySo()\"></button>\r\n <button type=\"button\" pButton icon=\"pi pi-replay\" class=\"p-button-text p-button-secondary\"\r\n [label]=\"'FORM.CANCEL' | translate\" preventTab (click)=\"forms.kySoSim.show=false\"></button>\r\n </ng-template>\r\n</tn-dialog>",
|
|
35916
|
+
template: "<div *ngIf=\"layout == _layout.LIST\" class=\"full-layout\">\r\n <div class=\"fm-toolbar\">\r\n <div class=\"fm-toolbar-buttons\">\r\n <ng-container *ngIf=\"!readonly\">\r\n <button *ngIf=\"!hiddenCreateFolder\" pButton pRipple type=\"button\" pTooltip=\"T\u1EA1o th\u01B0 m\u1EE5c m\u1EDBi\"\r\n tooltipPosition=\"top\" icon=\"pi pi-folder\" class=\"p-button-text\" label=\"T\u1EA1o th\u01B0 m\u1EE5c\" iconPos=\"left\"\r\n (click)=\"createFolder()\">\r\n </button>\r\n\r\n <button pButton icon=\"pi pi-cloud-upload\" pTooltip=\"T\u1EA3i t\u1EC7p tin t\u1EEB m\u00E1y t\u00EDnh c\u1EE7a b\u1EA1n\"\r\n tooltipPosition=\"top\" type=\"button\" class=\"p-button-text p-button-primary\" label=\"T\u1EA3i l\u00EAn\"\r\n (click)=\"selectFile()\"></button>\r\n\r\n <button pButton icon=\"pi pi-link\" pTooltip=\"T\u1EA3i t\u1EEB li\u00EAn k\u1EBFt trong h\u1EC7 th\u1ED1ng\" tooltipPosition=\"top\"\r\n type=\"button\" class=\"p-button-text p-button-primary\" label=\"T\u1EA3i li\u00EAn k\u1EBFt\"\r\n (click)=\"showAttachLinkBox = true\"></button>\r\n\r\n <button *ngIf=\"canSelect()\" class=\"p-button-text p-button-success\" pButton type=\"button\"\r\n pTooltip=\"Di chuy\u1EC3n th\u01B0 m\u1EE5c/t\u1EC7p tin \u0111\u00E3 ch\u1ECDn\" tooltipPosition=\"top\" icon=\"fas fa-arrows-alt\"\r\n iconPos=\"left\" label=\"Di chuy\u1EC3n\" (click)=\"moveExplorerItems()\">\r\n </button>\r\n\r\n <button *ngIf=\"canSetMove()\" class=\"p-button-text p-button-success\" pButton type=\"button\"\r\n pTooltip=\"Di chuy\u1EC3n th\u01B0 m\u1EE5c/t\u1EC7p tin \u0111\u00E3 ch\u1ECDn t\u1EDBi \u0111\u00E2y\" tooltipPosition=\"top\" icon=\"far fa-hand-paper\"\r\n iconPos=\"left\" label=\"\u0110\u1EB7t t\u1EA1i \u0111\u00E2y\" (click)=\"setMoveExplorerItems()\">\r\n </button>\r\n\r\n <button *ngIf=\"canSetMove()\" icon=\"pi pi-undo\" pButton class=\"p-button-text p-button-secondary\"\r\n type=\"button\" pTooltip=\"B\u1ECF di chuy\u1EC3n th\u01B0 m\u1EE5c/t\u1EC7p tin \u0111\u00E3 ch\u1ECDn\" tooltipPosition=\"top\" label=\"B\u1ECF qua\"\r\n (click)=\"cancelMove()\">\r\n </button>\r\n\r\n <button *ngIf=\"hasSelect()\" pButton type=\"button\"\r\n pTooltip=\"{{ 'X\u00F3a th\u01B0 m\u1EE5c/t\u1EC7p tin \u0111\u00E3 ch\u1ECDn' | translate }}\" tooltipPosition=\"top\" icon=\"pi pi-trash\"\r\n iconPos=\"left\" class=\"p-button-text p-button-danger\" label=\"X\u00F3a\"\r\n (click)=\"deleteMutiple(model.selectedItems)\"></button>\r\n </ng-container>\r\n <button *ngIf=\"readonly && hasSelect()\" class=\"p-button-text p-button-secondary\" pButton type=\"button\"\r\n pTooltip=\"N\u00E9n & t\u1EA3i v\u1EC1\" tooltipPosition=\"top\" icon=\"fas fa-file-archive\" iconPos=\"left\" label=\"T\u1EA3i v\u1EC1\"\r\n (click)=\"downloadMultiple()\">\r\n </button>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"breadCrumb\"></ng-container>\r\n </div>\r\n\r\n <div class=\"fm-grid\">\r\n <crud-list #crudList [model]=\"model\" [setting]=\"setting\" [dataSource]=\"_dataSource\"\r\n [disableKeypressControl]=\"true\" [showScrollBar]=\"false\" class=\"--auto-height-content --no-wrapper-padding\"\r\n [widthFunctionColumn]=\"'8.2rem'\" (onReload)=\"_triggerProcessData($event)\"\r\n (onRowSelect)=\"onRowSelect($event)\">\r\n\r\n <ng-template #explorerItem let-rowData='rowData' let-col='col'>\r\n <span (click)=\"openObject(rowData)\" class=\"pull-left file-ex-icon\"\r\n [innerHTML]=\"rowData.name | fileIcon : !rowData.isFile\">\r\n </span>\r\n\r\n <span (click)=\"openObject(rowData)\" class=\"{{rowData.class}} file-ex-name\">\r\n {{rowData.name}}\r\n </span>\r\n <span *ngIf=\"rowData.signatures\" class=\"pull-right signature\" pTooltip=\"Xem chi ti\u1EBFt k\u00FD s\u1ED1\"\r\n tooltipPosition=\"top\" (click)=\"viewListSign($event, rowData.signatures)\">\r\n <i class=\"fas fa-signature\"></i>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template #fileSize let-rowData='rowData'>\r\n <div *ngIf=\"rowData.isFile\">{{rowData.fileSize | fileSize}}</div>\r\n </ng-template>\r\n\r\n <ng-template #function let-rowData=\"rowData\" let-crudList=\"crudList\">\r\n <div class=\"function-list\">\r\n <ng-container *ngIf=\"!readonly\">\r\n <button class=\"p-button-rounded p-button-text link-or-action\" pButton type=\"button\"\r\n tooltipPosition=\"top\" pTooltip=\"{{getButtonTooltip(rowData)}}\"\r\n icon=\"{{getButtonIcon(rowData)}}\" (click)=\"onButtonClick(rowData)\"></button>\r\n\r\n <button class=\"p-button-danger p-button-rounded p-button-text link-or-action\" pButton\r\n type=\"button\" pTooltip=\"X\u00F3a\" tooltipPosition=\"top\" icon=\"pi pi-trash\"\r\n (click)=\"deleteFile(rowData)\"></button>\r\n\r\n\r\n <button type=\"button\" pButton icon=\"pi pi-ellipsis-v\"\r\n class=\"link-or-action p-button-text p-button-rounded\" pTooltip=\"Th\u00EAm\" tooltipPosition=\"top\"\r\n (click)=\"showContextMenu($event, rowData)\"></button>\r\n </ng-container>\r\n <button *ngIf=\"readonly\" class=\"p-button-secondary p-button-rounded p-button-text link-or-action\"\r\n pButton type=\"button\" pTooltip=\"T\u1EA3i v\u1EC1\" tooltipPosition=\"top\" icon=\"pi pi-cloud-download\"\r\n (click)=\"download(rowData)\"></button>\r\n <button *ngIf=\"readonly\" class=\"p-button-secondary p-button-rounded p-button-text link-or-action\"\r\n pButton type=\"button\" pTooltip=\"Sao ch\u00E9p \u0111\u01B0\u1EDDng d\u1EABn\" tooltipPosition=\"top\" icon=\"pi pi-link\"\r\n (click)=\"copyDownloadLink(rowData)\"></button>\r\n </div>\r\n </ng-template>\r\n </crud-list>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"layout == _layout.SIMPLE\" class=\"not-full-layout\" [class.readonly]=\"readonly\">\r\n <div *ngIf=\"!readonly || data.breadcrumbs.length > 0\" class=\"fm-toolbar\">\r\n <div class=\"fm-toolbar-buttons\">\r\n <ng-container *ngIf=\"!readonly\">\r\n <button *ngIf=\"!hiddenCreateFolder\" (click)=\"createFolder()\" pButton pRipple type=\"button\"\r\n pTooltip=\"T\u1EA1o th\u01B0 m\u1EE5c m\u1EDBi\" tooltipPosition=\"top\" icon=\"pi pi-folder\" class=\"p-button-text\"\r\n label=\"T\u1EA1o th\u01B0 m\u1EE5c\" iconPos=\"left\">\r\n </button>\r\n <button type=\"button\" pButton class=\"p-button-text p-button-info link-or-action\"\r\n icon=\"pi pi-cloud-upload\" (click)=\"selectFile()\" label=\"T\u1EA3i l\u00EAn\"></button>\r\n <button pButton icon=\"pi pi-link\" pTooltip=\"T\u1EA3i t\u1EEB li\u00EAn k\u1EBFt trong h\u1EC7 th\u1ED1ng\" tooltipPosition=\"top\"\r\n type=\"button\" class=\"p-button-text p-button-primary\" label=\"T\u1EA3i li\u00EAn k\u1EBFt\"\r\n (click)=\"showAttachLinkBox = true\"></button>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"breadCrumb\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nfl-grid\">\r\n <div *ngFor=\"let rowData of _dataSource; index as i\" class=\"nfl-item\">\r\n <div class=\"nfl-no\">\r\n {{i + 1}}.\r\n </div>\r\n\r\n <div class=\"nfl-name\">\r\n <span class=\"pull-left file-ex-icon\" [innerHTML]=\"rowData.name | fileIcon : !rowData.isFile\">\r\n </span>\r\n <!-- <a (click)=\"openObject(rowData)\" class=\"{{rowData.class}} file-ex-name\">\r\n <span>{{rowData.nameWithoutExtension}}</span>\r\n <div *ngIf=\"rowData.signatures\" class=\"signature\" pTooltip=\"Xem chi ti\u1EBFt k\u00FD s\u1ED1\"\r\n tooltipPosition=\"top\" (click)=\"viewListSign($event, rowData.signatures)\">\r\n <i class=\"fas fa-signature\"></i>\r\n </div>\r\n </a>\r\n <a (click)=\"openObject(rowData)\" class=\"file-ex-extension\">{{rowData.extension}}</a> -->\r\n\r\n <a (click)=\"openObject(rowData)\" class=\"{{rowData.class}} file-ex-name\">\r\n <span>\r\n <span>{{rowData.name}}</span>\r\n <div *ngIf=\"rowData.signatures\" class=\"signature\" pTooltip=\"Xem chi ti\u1EBFt k\u00FD s\u1ED1\"\r\n tooltipPosition=\"top\" (click)=\"viewListSign($event, rowData.signatures)\">\r\n <i class=\"fas fa-signature\"></i>\r\n </div>\r\n </span>\r\n <!-- <span class=\"file-ex-extension\">{{rowData.extension}}</span> -->\r\n </a>\r\n </div>\r\n\r\n <div *ngIf=\"rowData.isFile\" class=\"nfl-version\">\r\n v{{rowData.currentFileVersion}}\r\n </div>\r\n\r\n <div class=\"nfl-function\">\r\n <ng-container *ngIf=\"!readonly\">\r\n <button class=\"p-button-rounded p-button-text link-or-action\" (click)=\"onButtonClick(rowData)\"\r\n pButton type=\"button\" tooltipPosition=\"top\" pTooltip=\"{{getButtonTooltip(rowData)}}\"\r\n icon=\"{{getButtonIcon(rowData)}}\"></button>\r\n\r\n <button class=\"p-button-danger p-button-rounded p-button-text link-or-action\"\r\n (click)=\"deleteFile(rowData)\" pButton type=\"button\" pTooltip=\"X\u00F3a\" tooltipPosition=\"top\"\r\n icon=\"pi pi-trash\"></button>\r\n </ng-container>\r\n\r\n <button *ngIf=\"readonly\" class=\"p-button-secondary p-button-rounded p-button-text link-or-action\"\r\n (click)=\"download(rowData)\" pButton type=\"button\" pTooltip=\"T\u1EA3i v\u1EC1\" tooltipPosition=\"top\"\r\n icon=\"pi pi-cloud-download\"></button>\r\n <button *ngIf=\"readonly\" class=\"p-button-secondary p-button-rounded p-button-text link-or-action\"\r\n pButton type=\"button\" pTooltip=\"Sao ch\u00E9p \u0111\u01B0\u1EDDng d\u1EABn\" tooltipPosition=\"top\" icon=\"pi pi-link\"\r\n (click)=\"copyDownloadLink(rowData)\"></button>\r\n <button type=\"button\" pButton icon=\"pi pi-ellipsis-v\"\r\n class=\"link-or-action p-button-text p-button-rounded\" pTooltip=\"Th\u00EAm\" tooltipPosition=\"top\"\r\n (click)=\"showContextMenu($event, rowData)\"></button>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!_dataSource || !_dataSource.length\" class=\"nfl-no-item\">\r\n Ch\u01B0a c\u00F3 t\u00E0i li\u1EC7u \u0111\u01B0\u1EE3c t\u1EA3i l\u00EAn\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #breadCrumb>\r\n <div *ngIf=\"data.breadcrumbs.length > 0\" class=\"fm-toolbar-path\">\r\n <p-breadcrumb class=\"customBreadCrumb\" [model]=\"data.breadcrumbs\"></p-breadcrumb>\r\n </div>\r\n</ng-template>\r\n\r\n<p-fileUpload #fileControl [ngStyle]=\"{'display': 'none'}\" mode=\"basic\" [chooseLabel]=\"chooseLabel\" name=\"file\"\r\n [url]=\"apiUploadUrl\" [maxFileSize]=\"maxFileSize\" auto=\"true\"\r\n [invalidFileSizeMessageSummary]=\"invalidFileSizeMessageSummary\"\r\n [invalidFileSizeMessageDetail]=\"invalidFileSizeMessageDetail\"\r\n [invalidFileTypeMessageSummary]=\"invalidFileTypeMessageSummary\"\r\n [invalidFileTypeMessageDetail]=\"invalidFileTypeMessageDetail\"\r\n [invalidFileLimitMessageSummary]=\"invalidFileLimitMessageSummary\"\r\n [invalidFileLimitMessageDetail]=\"invalidFileLimitMessageDetail\" (onProgress)=\"onUploadProgress($event)\"\r\n (onBeforeUpload)=\"onBeforeUpload($event)\" (onSelect)=\"handleSelectFile($event)\" (onUpload)=\"onUploaded($event)\">\r\n</p-fileUpload>\r\n<p-contextMenu #contextMenu [appendTo]=\"'body'\" [model]=\"data.itemsMenuFile\" styleClass=\"fm-contextMenu-panel\">\r\n</p-contextMenu>\r\n\r\n<!-- T\u1EA1o m\u1EDBi/ \u0111\u1ED5i t\u00EAn th\u01B0 m\u1EE5c -->\r\n<tn-dialog *ngIf=\"forms.createFolder.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.createFolder.header | translate\" [popupSize]=\"forms[formIds.createFolder].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.createFolder)\">\r\n <folder-form #formBase [parentModel]=\"model\" [parentContext]=\"context\"\r\n [model]=\"forms[formIds.createFolder].formData\" (onSaved)=\"onSavedForm(formIds.createFolder)\"\r\n (onCancel)=\"onCancelForm(formIds.createFolder)\">\r\n </folder-form>\r\n</tn-dialog>\r\n\r\n<!-- \u0110\u1ED5i t\u00EAn file -->\r\n<tn-dialog *ngIf=\"forms.renameFile.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.renameFile.header | translate\" [popupSize]=\"forms[formIds.renameFile].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.renameFile)\">\r\n <file-form #formBase [parentModel]=\"model\" [parentContext]=\"context\" [model]=\"forms[formIds.renameFile].formData\"\r\n (onSaved)=\"onSavedForm(formIds.renameFile)\" (onCancel)=\"onCancelForm(formIds.renameFile)\">\r\n </file-form>\r\n</tn-dialog>\r\n\r\n<!-- Xem file tr\u1EF1c tuy\u1EBFn -->\r\n<file-viewer *ngIf=\"forms.fileViewer.show\" [parentModel]=\"model\" [parentContext]=\"context\" [readonly]=\"readonly\"\r\n [model]=\"forms.fileViewer.formData\" (onClose)=\"closeFileViewer()\">\r\n</file-viewer>\r\n\r\n<!-- Xem phi\u00EAn b\u1EA3n -->\r\n<tn-dialog *ngIf=\"forms.fileVersionList.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.fileVersionList.header | translate\" [popupSize]=\"forms[formIds.fileVersionList].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.fileVersionList)\">\r\n <file-version-list *ngIf=\"forms.fileVersionList.show\" [parentModel]=\"model\" [parentContext]=\"context\"\r\n [fileId]=\"forms[formIds.fileVersionList].fileId\" [readonly]=\"readonly\">\r\n </file-version-list>\r\n</tn-dialog>\r\n\r\n<tn-dialog *ngIf=\"showAttachLinkBox\" #dialog2 [maximizable]=\"false\" [header]=\"'Nh\u1EADp li\u00EAn k\u1EBFt' | translate\"\r\n [popupSize]=\"{ width: 600, height: 50}\" (onHide)=\"showAttachLinkBox = false; typedLink=''\">\r\n <div class=\"p-col-12\">\r\n <div class=\"p-grid\">\r\n <div class=\"p-md-10\">\r\n <input #input type=\"text\" placeholder=\"Nh\u1EADp li\u00EAn k\u1EBFt sao ch\u00E9p t\u1EEB t\u1EC7p tin kh\u00E1c...\"\r\n (keyup.enter)=\"addAttachLink()\" pInputText [(ngModel)]=\"typedLink\" class=\"p-col-12\" />\r\n </div>\r\n <div class=\"p-md-2\">\r\n <button type=\"button\" (click)=\"addAttachLink()\" [disabled]=\"typedLink != ''? null : true\" pButton\r\n class=\"p-button-primary p-col-12\" label=\"Ok\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n <after-view-checked (loaded)=\"focusInput(input)\"></after-view-checked>\r\n</tn-dialog>\r\n<!--\r\n\r\n<share-file *ngIf=\"forms.shareFile.show\" [parentDataModel]=\"model\" [parentDataContext]=\"context\"\r\n [model]=\"forms.shareFile.formData\">\r\n</share-file>\r\n\r\n<share-folder *ngIf=\"forms.shareFolder.show\" [parentDataModel]=\"model\" [parentDataContext]=\"context\"\r\n [model]=\"forms.shareFolder.formData\">\r\n</share-folder>\r\n -->\r\n\r\n<!-- Xem ch\u1EEF k\u00FD s\u1ED1 -->\r\n<tn-dialog *ngIf=\"forms.signatureDetail.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.signatureDetail.header | translate\" [popupSize]=\"forms[formIds.signatureDetail].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.signatureDetail)\">\r\n <signature-detail [parentModel]=\"model\" [parentContext]=\"context\">\r\n </signature-detail>\r\n</tn-dialog>\r\n<!--K\u00FD s\u1ED1 sim-->\r\n<tn-dialog *ngIf=\"forms.kySoSim.show\" #dialog [styleClass]=\"'address-form'\" [header]=\"forms.kySoSim.header | translate\"\r\n [popupSize]=\"forms.kySoSim.popupSize\" [showFooter]=\"true\" (onHide)=\"onCancelForm(formIds.kySoSim)\">\r\n <app-file-ky-so-sim #fileKySoSim [parentModel]=\"model\" [parentContext]=\"context\">\r\n </app-file-ky-so-sim>\r\n <ng-template #footer>\r\n <button type=\"button\" pButton icon=\"fas fa-images\" [disabled]=\"model.submitting\" class=\"p-button-text\"\r\n [label]=\"'Ch\u1ECDn ch\u1EEF k\u00FD' | translate\" (click)=\"chonChuKy()\"></button>\r\n <button type=\"button\" pButton icon=\"fas fa-signature\" class=\"p-button-text ui-button-success\"\r\n [disabled]=\"model.submitting\" [label]=\"'Th\u1EF1c hi\u1EC7n k\u00FD' | translate\" (click)=\"kySo()\"></button>\r\n <button type=\"button\" pButton icon=\"pi pi-replay\" class=\"p-button-text p-button-secondary\"\r\n [label]=\"'FORM.CANCEL' | translate\" preventTab (click)=\"forms.kySoSim.show=false\"></button>\r\n </ng-template>\r\n</tn-dialog>",
|
|
35856
35917
|
providers: [
|
|
35857
35918
|
{
|
|
35858
35919
|
provide: forms.NG_VALUE_ACCESSOR,
|
|
@@ -35861,7 +35922,7 @@
|
|
|
35861
35922
|
},
|
|
35862
35923
|
ComponentContextService
|
|
35863
35924
|
],
|
|
35864
|
-
styles: [".file-header-tab a{color:#000!important}.file-ex-name:hover{cursor:pointer}.file-ex-name .signature{margin-left:3px}.file-ex-row:hover{background:#e8e8e8}.function-list{text-align:center}.function-list a{margin:5px}.function-list a:hover{color:#6aa3d4}.file-btn{color:#337ab7;cursor:pointer;display:inline-block;font-size:1.1em;line-height:45px;margin-left:10px;padding:5px;vertical-align:middle}.file-btn:hover{color:#3ea8ff}.file-btn i{font-size:1.2em;margin-right:10px}.file-action{text-align:right}.file-row-action i{margin-right:5px}.file-row-action{line-height:34px}.function-list .topbar-items{margin-top:0}.function-list .topbar-items>li .topbar-icon{color:#909090}.function-list .topbar-items>li .topbar-icon:hover{color:#444}.function-list .topbar-items>li>ul{border-top:0;right:15px;top:30px}.function-list .topbar-items>li>ul:before{display:none}.function-list .topbar-items>li.active-top-menu>ul{z-index:1}.function-list .layout-menu li a{border:none;margin:0;text-align:left}.function-list .layout-menu li a i:first-child{color:#666f77;font-size:1.2em}.group-link-share{height:34px}.txt-link-share{max-width:335px!important}.btn-copy-link-share{font-size:small!important}.tbl-checkbox-header{width:3em}.tbl-checkbox{text-align:center;width:3em}.my-drive-checkbox{background-color:#fff;border:1px solid #ccc;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);height:20px;text-align:center;transition:border-color .3s,background-color .3s,box-shadow .3s;width:20px}.get-link-share{cursor:pointer;float:right}.file-toolbar{text-align:right}.function-topbar button:last-child{margin-right:0!important}::ng-deep body>.fm-contextMenu-panel{min-width:210px}.folderUnClickable{pointer-events:none}::ng-deep file-manager .file-menu.ui-menu ul li a{text-align:left!important}::ng-deep file-manager .item-inline-name .ui-tooltip-text{white-space:normal;word-break:break-word}::ng-deep file-manager .full-layout .fm-grid a{display:flex;padding-top:5px}::ng-deep file-manager .full-layout .fm-grid a .file-ex-icon{margin-right:5px}::ng-deep file-manager .full-layout .fm-grid a .file-ex-icon:hover{cursor:pointer}::ng-deep file-manager .fm-toolbar{align-items:center;display:flex;padding-bottom:.5em;padding-left:0;padding-top:.5em}::ng-deep file-manager .fm-toolbar .fm-toolbar-buttons{align-items:center;display:flex;padding-left:3px}::ng-deep file-manager .fm-toolbar .fm-toolbar-path{flex:1 1;margin-left:2em;position:relative}::ng-deep file-manager .fm-toolbar .fm-toolbar-path>p-breadcrumb .p-breadcrumb{background:transparent}::ng-deep file-manager .fm-toolbar .fm-toolbar-path>p-breadcrumb>div{border:none;padding:0}::ng-deep file-manager .fm-toolbar .fm-toolbar-path>p-breadcrumb ul li:not(:last-child)>a{cursor:pointer}::ng-deep file-manager .fm-toolbar .fm-toolbar-path>p-breadcrumb ul li:not(:last-child)>a .p-menuitem-text{color:#2196f3}::ng-deep file-manager .fm-toolbar .fm-toolbar-path>p-breadcrumb ul li:last-child .p-menuitem-text{color:rgba(255,102,0,.685)}::ng-deep file-manager .fm-toolbar .fm-toolbar-path:after{background:#b8b8b8;content:\"\";height:100%;left:-1.4em;position:absolute;top:0;width:2px}::ng-deep file-manager .not-full-layout{border-radius:5px}::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item{display:flex}::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-function,::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-name,::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-no,::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-version{align-items:center;display:flex;justify-content:center}::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-no{flex:0 0 30px}::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-name{flex:1 1;justify-content:left;margin-right:1em}::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-name
|
|
35925
|
+
styles: [".file-header-tab a{color:#000!important}.file-ex-name:hover{cursor:pointer}.file-ex-name .signature{margin-left:3px}.file-ex-row:hover{background:#e8e8e8}.function-list{text-align:center}.function-list a{margin:5px}.function-list a:hover{color:#6aa3d4}.file-btn{color:#337ab7;cursor:pointer;display:inline-block;font-size:1.1em;line-height:45px;margin-left:10px;padding:5px;vertical-align:middle}.file-btn:hover{color:#3ea8ff}.file-btn i{font-size:1.2em;margin-right:10px}.file-action{text-align:right}.file-row-action i{margin-right:5px}.file-row-action{line-height:34px}.function-list .topbar-items{margin-top:0}.function-list .topbar-items>li .topbar-icon{color:#909090}.function-list .topbar-items>li .topbar-icon:hover{color:#444}.function-list .topbar-items>li>ul{border-top:0;right:15px;top:30px}.function-list .topbar-items>li>ul:before{display:none}.function-list .topbar-items>li.active-top-menu>ul{z-index:1}.function-list .layout-menu li a{border:none;margin:0;text-align:left}.function-list .layout-menu li a i:first-child{color:#666f77;font-size:1.2em}.group-link-share{height:34px}.txt-link-share{max-width:335px!important}.btn-copy-link-share{font-size:small!important}.tbl-checkbox-header{width:3em}.tbl-checkbox{text-align:center;width:3em}.my-drive-checkbox{background-color:#fff;border:1px solid #ccc;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);height:20px;text-align:center;transition:border-color .3s,background-color .3s,box-shadow .3s;width:20px}.get-link-share{cursor:pointer;float:right}.file-toolbar{text-align:right}.function-topbar button:last-child{margin-right:0!important}::ng-deep body>.fm-contextMenu-panel{min-width:210px}.folderUnClickable{pointer-events:none}::ng-deep file-manager .file-menu.ui-menu ul li a{text-align:left!important}::ng-deep file-manager .item-inline-name .ui-tooltip-text{white-space:normal;word-break:break-word}::ng-deep file-manager .full-layout .fm-grid a{display:flex;padding-top:5px}::ng-deep file-manager .full-layout .fm-grid a .file-ex-icon{margin-right:5px}::ng-deep file-manager .full-layout .fm-grid a .file-ex-icon:hover{cursor:pointer}::ng-deep file-manager .fm-toolbar{align-items:center;display:flex;padding-bottom:.5em;padding-left:0;padding-top:.5em}::ng-deep file-manager .fm-toolbar .fm-toolbar-buttons{align-items:center;display:flex;padding-left:3px}::ng-deep file-manager .fm-toolbar .fm-toolbar-path{flex:1 1;margin-left:2em;position:relative}::ng-deep file-manager .fm-toolbar .fm-toolbar-path>p-breadcrumb .p-breadcrumb{background:transparent}::ng-deep file-manager .fm-toolbar .fm-toolbar-path>p-breadcrumb>div{border:none;padding:0}::ng-deep file-manager .fm-toolbar .fm-toolbar-path>p-breadcrumb ul li:not(:last-child)>a{cursor:pointer}::ng-deep file-manager .fm-toolbar .fm-toolbar-path>p-breadcrumb ul li:not(:last-child)>a .p-menuitem-text{color:#2196f3}::ng-deep file-manager .fm-toolbar .fm-toolbar-path>p-breadcrumb ul li:last-child .p-menuitem-text{color:rgba(255,102,0,.685)}::ng-deep file-manager .fm-toolbar .fm-toolbar-path:after{background:#b8b8b8;content:\"\";height:100%;left:-1.4em;position:absolute;top:0;width:2px}::ng-deep file-manager .not-full-layout{border-radius:5px}::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item{display:flex}::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-function,::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-name,::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-no,::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-version{align-items:center;display:flex;justify-content:center}::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-no{flex:0 0 30px}::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-name{display:flex;flex:1 1;justify-content:left;margin-right:1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-name .file-ex-name{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-name .file-ex-name>span:not(.file-ex-extension){display:flex;justify-content:space-between;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}::ng-deep file-manager .not-full-layout .nfl-grid .nfl-item .nfl-version{flex:0 0 auto;font-size:.85rem;font-weight:700;margin-right:5px}::ng-deep file-manager .not-full-layout .nfl-grid .nfl-no-item{align-items:center;display:flex;justify-content:left;padding:1em}::ng-deep td file-manager .not-full-layout .nfl-grid .nfl-no-item{align-items:center;display:flex;justify-content:center;padding:8px}"]
|
|
35865
35926
|
},] }
|
|
35866
35927
|
];
|
|
35867
35928
|
FileManagerComponent.ctorParameters = function () { return [
|
|
@@ -37687,6 +37748,8 @@
|
|
|
37687
37748
|
this.onRemove = new i0.EventEmitter();
|
|
37688
37749
|
this.disabled = null;
|
|
37689
37750
|
this.custom = false;
|
|
37751
|
+
this.customTypeFieldName = 'fieldValue';
|
|
37752
|
+
this.customTypeSeparator = '____';
|
|
37690
37753
|
}
|
|
37691
37754
|
Object.defineProperty(QueryBuilderRuleComponent.prototype, "controlValue", {
|
|
37692
37755
|
// control value cố định, dùng trong trường hợp custom form
|
|
@@ -37711,6 +37774,22 @@
|
|
|
37711
37774
|
}
|
|
37712
37775
|
this.handleChangeOperator();
|
|
37713
37776
|
}
|
|
37777
|
+
if (this.controlType == 'custom') {
|
|
37778
|
+
this.setFuncGetValue();
|
|
37779
|
+
if (this.query.value) {
|
|
37780
|
+
try {
|
|
37781
|
+
this.query[this.customTypeFieldName] = this.query.value['field'];
|
|
37782
|
+
this.query.value = this.query.value['value'];
|
|
37783
|
+
}
|
|
37784
|
+
catch (ex) {
|
|
37785
|
+
}
|
|
37786
|
+
// const arrInfo = this.query.value.split(this.customTypeSeparator);
|
|
37787
|
+
// if (arrInfo.length > 1) {
|
|
37788
|
+
// this.query[this.customTypeFieldName] = arrInfo[0];
|
|
37789
|
+
// this.query.value = arrInfo[1];
|
|
37790
|
+
// }
|
|
37791
|
+
}
|
|
37792
|
+
}
|
|
37714
37793
|
if (this.itemField != null && this.itemField.controlType == 'datetime' && this.query.value) {
|
|
37715
37794
|
if (!isValidDate(new Date(this.query.value))) {
|
|
37716
37795
|
this.custom = true;
|
|
@@ -37720,6 +37799,18 @@
|
|
|
37720
37799
|
}
|
|
37721
37800
|
}
|
|
37722
37801
|
};
|
|
37802
|
+
QueryBuilderRuleComponent.prototype.setFuncGetValue = function () {
|
|
37803
|
+
var _this = this;
|
|
37804
|
+
if (this.controlType == 'custom') {
|
|
37805
|
+
this.query.funcGetValue = function (item) { return ({
|
|
37806
|
+
field: item[_this.customTypeFieldName],
|
|
37807
|
+
value: item.value
|
|
37808
|
+
}); };
|
|
37809
|
+
}
|
|
37810
|
+
else {
|
|
37811
|
+
this.query.funcGetValue = null;
|
|
37812
|
+
}
|
|
37813
|
+
};
|
|
37723
37814
|
QueryBuilderRuleComponent.prototype.removeGroup = function () {
|
|
37724
37815
|
this.onRemove.emit(this.query);
|
|
37725
37816
|
};
|
|
@@ -37735,7 +37826,13 @@
|
|
|
37735
37826
|
this.resetControl(this.itemField);
|
|
37736
37827
|
var itemOperator = this.operators.find(function (q) { return q.id == _this.query.compareType; });
|
|
37737
37828
|
if (!itemOperator) {
|
|
37738
|
-
this.
|
|
37829
|
+
if (this.operators.length == 1) {
|
|
37830
|
+
this.query.compareType = this.operators[0].id;
|
|
37831
|
+
this.handleChangeOperator();
|
|
37832
|
+
}
|
|
37833
|
+
else {
|
|
37834
|
+
this.query.compareType = null;
|
|
37835
|
+
}
|
|
37739
37836
|
}
|
|
37740
37837
|
else if (itemOperator.controlType) {
|
|
37741
37838
|
this.resetControl(itemOperator);
|
|
@@ -37757,6 +37854,7 @@
|
|
|
37757
37854
|
if (this.control) {
|
|
37758
37855
|
this.control.disabled = this.disabled;
|
|
37759
37856
|
}
|
|
37857
|
+
this.setFuncGetValue();
|
|
37760
37858
|
}
|
|
37761
37859
|
};
|
|
37762
37860
|
QueryBuilderRuleComponent.prototype.handleChangeOperator = function () {
|
|
@@ -37796,7 +37894,7 @@
|
|
|
37796
37894
|
QueryBuilderRuleComponent.decorators = [
|
|
37797
37895
|
{ type: i0.Component, args: [{
|
|
37798
37896
|
selector: 'query-builder-rule',
|
|
37799
|
-
template: "<div class=\"tn__group-or-rule-container rule-container\">\r\n <div class=\"tn__group-or-rule rule\">\r\n <div class=\"tn__rule-body\">\r\n <ng-container *ngIf=\"templateFieldPicker\">\r\n <div class=\"tn__rule-field\">\r\n <ng-container\r\n *ngTemplateOutlet=\"templateFieldPicker; context: {$implicit: query, handleChangedField: setDatasourceOperators}\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!templateFieldPicker\">\r\n <ng-container *ngTemplateOutlet=\"fieldPicker; context: {$implicit: query}\"></ng-container>\r\n </ng-container>\r\n <div class=\"tn__rule-operator\">\r\n <p-dropdown appendTo=\"body\" [options]=\"operators\" optionLabel=\"ten\" optionValue=\"id\"\r\n placeholder=\"Ch\u1ECDn to\u00E1n t\u1EED\" [(ngModel)]=\"query.compareType\" (onChange)=\"handleChangeOperator()\">\r\n </p-dropdown>\r\n </div>\r\n <div class=\"tn__rule-value\">\r\n <ng-container *ngIf=\"control\">\r\n <ng-container [ngSwitch]=\"controlType\">\r\n <
|
|
37897
|
+
template: "<div class=\"tn__group-or-rule-container rule-container\">\r\n <div class=\"tn__group-or-rule rule\">\r\n <div class=\"tn__rule-body\">\r\n <ng-container *ngIf=\"templateFieldPicker\">\r\n <div class=\"tn__rule-field\">\r\n <ng-container\r\n *ngTemplateOutlet=\"templateFieldPicker; context: {$implicit: query, handleChangedField: setDatasourceOperators}\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"!templateFieldPicker\">\r\n <ng-container *ngTemplateOutlet=\"fieldPicker; context: {$implicit: query}\"></ng-container>\r\n </ng-container>\r\n <div class=\"tn__rule-operator\">\r\n <p-dropdown appendTo=\"body\" [options]=\"operators\" optionLabel=\"ten\" optionValue=\"id\"\r\n placeholder=\"Ch\u1ECDn to\u00E1n t\u1EED\" [(ngModel)]=\"query.compareType\" (onChange)=\"handleChangeOperator()\">\r\n </p-dropdown>\r\n </div>\r\n <div class=\"tn__rule-value\">\r\n <ng-container *ngIf=\"control\">\r\n <ng-container [ngSwitch]=\"controlType\">\r\n <ng-container *ngSwitchCase=\"'textbox'\">\r\n <ng-template *ngTemplateOutlet=\"textBoxValue; context: {$implicit: query}\"></ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'custom'\">\r\n <ng-template *ngTemplateOutlet=\"textBoxValue; context: {$implicit: query}\"></ng-template>\r\n </ng-container>\r\n <!-- <p-multiSelect *ngSwitchCase=\"'dropdown'\" [placeholder]=\"control.placeholder\"\r\n [appendTo]=\"'body'\" [options]=\"control.dataSource\" [disabled]=\"disabled\" optionLabel=\"ten\"\r\n optionValue=\"id\" [(ngModel)]=\"query.value\">\r\n </p-multiSelect> -->\r\n <dropdown *ngSwitchCase=\"'dropdown'\" [control]=\"control\" [dataSource]=\"control.dataSource\"\r\n [itemSelectedStyleClass]=\"'min'\" [(value)]=\"query.value\">\r\n </dropdown>\r\n <div *ngSwitchCase=\"'datetime'\" class=\"datetime-value-container\">\r\n <p-checkbox [binary]=\"true\" [label]=\"'T\u00F9y bi\u1EBFn'\" [(ngModel)]=\"custom\"></p-checkbox>\r\n <datetime-picker *ngIf=\"!custom\" [disabled]=\"disabled\" [(ngModel)]=\"query.value\">\r\n </datetime-picker>\r\n <input *ngIf=\"custom\" pInputText placeholder=\"VD: [now] + 1d - 2h + 3m - 4s\"\r\n [(ngModel)]=\"query.value\" />\r\n </div>\r\n\r\n <tn-mask *ngSwitchCase=\"'number'\" [disabled]=\"disabled\" [maskType]=\"control.maskType\"\r\n [placeholder]=\"control.placeholder\" [(ngModel)]=\"query.value\">\r\n </tn-mask>\r\n <user-picker *ngSwitchCase=\"'user'\" [control]=\"control\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"query.value\" [multiple]=\"control.multiple\">\r\n </user-picker>\r\n <cocautochuc-picker-list *ngSwitchCase=\"'cocautochuc'\" [control]=\"control\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"query.value\">\r\n </cocautochuc-picker-list>\r\n <autocomplete-picker *ngSwitchCase=\"'role'\" [control]=\"control\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"query.value\">\r\n </autocomplete-picker>\r\n <autocomplete-picker *ngSwitchCase=\"'groupuser'\" [control]=\"control\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"query.value\">\r\n </autocomplete-picker>\r\n <autocomplete-picker *ngSwitchCase=\"'chucVu'\" [control]=\"control\" [disabled]=\"disabled\"\r\n [(ngModel)]=\"query.value\">\r\n </autocomplete-picker>\r\n <autocomplete-picker *ngSwitchCase=\"'autocomplete-picker'\" [control]=\"control\"\r\n [disabled]=\"disabled\" [(ngModel)]=\"query.value\">\r\n </autocomplete-picker>\r\n <app-autocomplete-datasource *ngSwitchCase=\"'autocomplete'\" [control]=\"control\"\r\n [disabled]=\"disabled\" [(ngModel)]=\"query.value\" [suggestions]=\"control.dataSource\">\r\n </app-autocomplete-datasource>\r\n <ng-container *ngSwitchDefault>\r\n <input type=\"text\" pInputText placeholder=\"Gi\u00E1 tr\u1ECB\" [disabled]=\"true\" />\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"!control\">\r\n <input type=\"text\" pInputText placeholder=\"Gi\u00E1 tr\u1ECB\" [disabled]=\"true\" />\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"tn__rule-action\">\r\n <button type=\"button\" pButton icon=\"pi pi-trash\" class=\"p-button-text p-button-rounded p-button-danger\"\r\n pTooltip=\"X\u00F3a\" tooltipPosition=\"top\" (click)=\"removeGroup()\"></button>\r\n </div>\r\n </div>\r\n</div>\r\n<ng-template #fieldPicker let-query>\r\n <ng-container *ngIf=\"controlType == 'custom'\">\r\n <input [disabled]=\"disabled\" type=\"text\" [class]=\"'tn__rule-field'\" pInputText placeholder=\"Tr\u01B0\u1EDDng d\u1EEF li\u1EC7u\"\r\n [(ngModel)]=\"query.fieldValue\" />\r\n </ng-container>\r\n <ng-container *ngIf=\"controlType != 'custom'\">\r\n <p-dropdown [appendTo]=\"'body'\" [options]=\"dataSourceFields\" [class]=\"'tn__rule-field'\" optionLabel=\"ten\"\r\n optionValue=\"id\" placeholder=\"Ch\u1ECDn tr\u01B0\u1EDDng d\u1EEF li\u1EC7u\" [(ngModel)]=\"query.field\"\r\n (onChange)=\"handleChangeField($event)\">\r\n </p-dropdown>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #textBoxValue let-query>\r\n <input [disabled]=\"disabled\" type=\"text\" pInputText placeholder=\"Gi\u00E1 tr\u1ECB\" [(ngModel)]=\"query.value\" />\r\n</ng-template>",
|
|
37800
37898
|
styles: ["::ng-deep query-builder-rule .tn__rule-body{display:flex;width:calc(100% - 34px)}::ng-deep query-builder-rule .tn__rule-body>*{margin-right:5px}::ng-deep query-builder-rule .tn__rule-body>:last-child{margin-right:0}::ng-deep query-builder-rule .tn__rule-field{height:26px}::ng-deep query-builder-rule .tn__rule-value{min-height:26px}::ng-deep query-builder-rule .tn__rule-field,::ng-deep query-builder-rule .tn__rule-value{flex:0 0 calc(50% - 80px);width:calc(50% - 80px)}::ng-deep query-builder-rule .tn__rule-field .p-autocomplete,::ng-deep query-builder-rule .tn__rule-field .p-calendar,::ng-deep query-builder-rule .tn__rule-field.p-dropdown,::ng-deep query-builder-rule .tn__rule-field .p-dropdown,::ng-deep query-builder-rule .tn__rule-field .p-inputtext,::ng-deep query-builder-rule .tn__rule-field .p-multiselect,::ng-deep query-builder-rule .tn__rule-field tn-mask .p-inputgroup,::ng-deep query-builder-rule .tn__rule-value .p-autocomplete,::ng-deep query-builder-rule .tn__rule-value .p-calendar,::ng-deep query-builder-rule .tn__rule-value.p-dropdown,::ng-deep query-builder-rule .tn__rule-value .p-dropdown,::ng-deep query-builder-rule .tn__rule-value .p-inputtext,::ng-deep query-builder-rule .tn__rule-value .p-multiselect,::ng-deep query-builder-rule .tn__rule-value tn-mask .p-inputgroup{height:100%;width:100%}::ng-deep query-builder-rule .tn__rule-field .custom-autocomplete-button,::ng-deep query-builder-rule .tn__rule-field .p-inputtext,::ng-deep query-builder-rule .tn__rule-value .custom-autocomplete-button,::ng-deep query-builder-rule .tn__rule-value .p-inputtext{min-height:26px;padding:2px 12px}::ng-deep query-builder-rule .tn__rule-field .tn-dropdown,::ng-deep query-builder-rule .tn__rule-field .tn-dropdown.p-multiselect.p-component,::ng-deep query-builder-rule .tn__rule-value .tn-dropdown,::ng-deep query-builder-rule .tn__rule-value .tn-dropdown.p-multiselect.p-component{min-height:26px}::ng-deep query-builder-rule .tn__rule-field .tn-autocomplete .p-autocomplete-dropdown,::ng-deep query-builder-rule .tn__rule-value .tn-autocomplete .p-autocomplete-dropdown{height:26px;width:26px}::ng-deep query-builder-rule .tn__rule-field .p-calendar .p-button.p-button-icon-only,::ng-deep query-builder-rule .tn__rule-value .p-calendar .p-button.p-button-icon-only{padding:2px 12px}::ng-deep query-builder-rule .tn__rule-field .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-input-token,::ng-deep query-builder-rule .tn__rule-field .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-token,::ng-deep query-builder-rule .tn__rule-value .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-input-token,::ng-deep query-builder-rule .tn__rule-value .p-autocomplete.p-autocomplete-multiple .p-autocomplete-multiple-container .p-autocomplete-token{font-size:.9rem;margin:1px 2px;padding:0 .5rem}::ng-deep query-builder-rule .tn__rule-operator{flex:0 0 145px;height:26px;width:145px}::ng-deep query-builder-rule .tn__rule-operator .p-dropdown{height:100%;width:100%}::ng-deep query-builder-rule .tn__rule-operator .p-dropdown .p-inputtext{padding:2px 12px}::ng-deep query-builder-rule .tn__rule-action{flex:0 0 auto;white-space:nowrap}::ng-deep query-builder-rule .tn__rule-action button{height:26px!important;margin-left:2px!important;margin-right:6px!important;width:26px!important}::ng-deep query-builder-rule .datetime-value-container{align-items:center;display:flex}::ng-deep query-builder-rule .datetime-value-container p-checkbox{flex:0 0 auto;margin-right:5px}@media (max-width:640px){::ng-deep query-builder-rule .tn__rule-body{flex-direction:column;padding-right:5px}::ng-deep query-builder-rule .tn__rule-body>*{margin-bottom:5px;margin-right:0}::ng-deep query-builder-rule .tn__rule-field,::ng-deep query-builder-rule .tn__rule-operator,::ng-deep query-builder-rule .tn__rule-value{flex:1 1 auto;width:100%}}"]
|
|
37801
37899
|
},] }
|
|
37802
37900
|
];
|
|
@@ -39367,7 +39465,7 @@
|
|
|
39367
39465
|
{ id: ɵ3, ten: 'Người dùng' },
|
|
39368
39466
|
{ id: ɵ4, ten: 'Đơn vị' },
|
|
39369
39467
|
{ id: ɵ5, ten: 'Nhóm người dùng' },
|
|
39370
|
-
{ id: ɵ6, ten: '
|
|
39468
|
+
{ id: ɵ6, ten: 'Chức vụ' }
|
|
39371
39469
|
];
|
|
39372
39470
|
var ɵ7 = exports.EnumUserRule.CAP_TREN, ɵ8 = exports.EnumUserRule.NGUOI_THAM_GIA_QUY_TRINH, ɵ9 = exports.EnumUserRule.NGUOI_NHAN, ɵ10 = exports.EnumUserRule.NGUOI_THEO_DOI;
|
|
39373
39471
|
var DataSourceUserRule = [
|
|
@@ -39717,11 +39815,11 @@
|
|
|
39717
39815
|
return new AutoCompletePickerControlSchema({
|
|
39718
39816
|
field: field,
|
|
39719
39817
|
label: label,
|
|
39720
|
-
title: 'Chọn
|
|
39721
|
-
placeholder: 'Chọn
|
|
39818
|
+
title: 'Chọn chức vụ',
|
|
39819
|
+
placeholder: 'Chọn chức vụ',
|
|
39722
39820
|
mdWidth: 12,
|
|
39723
39821
|
baseService: _roleService,
|
|
39724
|
-
displayField: '
|
|
39822
|
+
displayField: 'ten',
|
|
39725
39823
|
fieldPlus: 'code',
|
|
39726
39824
|
fieldSearchText: ['code'],
|
|
39727
39825
|
multiple: true,
|
|
@@ -39734,8 +39832,8 @@
|
|
|
39734
39832
|
fullTextSearch: true
|
|
39735
39833
|
}),
|
|
39736
39834
|
new EntityPickerColumn({
|
|
39737
|
-
label: 'Tên
|
|
39738
|
-
code: '
|
|
39835
|
+
label: 'Tên chức vụ',
|
|
39836
|
+
code: 'ten',
|
|
39739
39837
|
dataType: 'string',
|
|
39740
39838
|
operator: exports.Operator.contain,
|
|
39741
39839
|
notInFields: true
|
|
@@ -39828,17 +39926,21 @@
|
|
|
39828
39926
|
required: true,
|
|
39829
39927
|
})
|
|
39830
39928
|
];
|
|
39929
|
+
if (this.data && this.data.editing) {
|
|
39930
|
+
this.isFormAdd = false;
|
|
39931
|
+
}
|
|
39932
|
+
else {
|
|
39933
|
+
this.isFormAdd = true;
|
|
39934
|
+
}
|
|
39831
39935
|
};
|
|
39832
39936
|
StateMachinesConnectionMetadataComponent.prototype.onFormInitialized = function (evt) {
|
|
39833
39937
|
return __awaiter(this, void 0, void 0, function () {
|
|
39834
39938
|
return __generator(this, function (_a) {
|
|
39835
|
-
if (this.
|
|
39836
|
-
this.isFormAdd = false;
|
|
39939
|
+
if (!this.isFormAdd) {
|
|
39837
39940
|
setMetadataConnection(evt.model, this.data);
|
|
39838
39941
|
this.source = this.data.source;
|
|
39839
39942
|
}
|
|
39840
39943
|
else {
|
|
39841
|
-
this.isFormAdd = true;
|
|
39842
39944
|
evt.model.id = this._commonService.guid();
|
|
39843
39945
|
evt.model.data = {};
|
|
39844
39946
|
}
|
|
@@ -39919,7 +40021,7 @@
|
|
|
39919
40021
|
StateMachinesConnectionMetadataComponent.decorators = [
|
|
39920
40022
|
{ type: i0.Component, args: [{
|
|
39921
40023
|
selector: 'statemachines-connection-metadata',
|
|
39922
|
-
template: "<div class=\"flex flex-column\" style=\"height: 100%\">\r\n <crud-form #crudForm [(data)]=\"model.data\" [setting]=\"setting\" [context]=\"context\" [disableCaching]=\"true\"\r\n (onFormReady)=\"_handleFormReady($event)\">\r\n </crud-form>\r\n <div class=\"fit\" style=\"overflow: hidden;\">\r\n <tn-tabview [data]=\"mainTabData\" [allowViewAll]=\"true\">\r\n <ng-template #sender>\r\n <statemachines-connection-sender #senderForm [data]=\"data\" [machines]=\"machinesData.machines\"\r\n [viewOnly]=\"viewOnly\">\r\n </statemachines-connection-sender>\r\n </ng-template>\r\n <ng-template #receiver>\r\n <statemachines-connection-receiver #receiverForm [designerContext]=\"designerContext\" [data]=\"data\"\r\n [workflowData]=\"machinesData\" [viewOnly]=\"viewOnly\">\r\n </statemachines-connection-receiver>\r\n </ng-template>\r\n </tn-tabview>\r\n </div>\r\n</div>\r\n<ng-template #buttonTemplate>\r\n <ng-container *ngIf=\"!viewOnly\">\r\n <button *ngIf=\"!model.data.__disableEdit && !__isFormView\" type=\"button\" pButton icon=\"pi pi-save\"\r\n class=\"p-button-text\" [label]=\"'FORM.SAVE' | translate\" (click)=\"_handleSave($event)\"></button>\r\n <button type=\"button\" pButton icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\"\r\n [label]=\"'X\u00F3a' | translate\" (click)=\"remove($event)\"></button>\r\n </ng-container>\r\n <button type=\"button\" pButton icon=\"pi pi-replay\" class=\"p-button-text p-button-secondary\"\r\n [label]=\"'FORM.CANCEL' | translate\" preventTab (click)=\"_handleCancel($event)\"></button>\r\n</ng-template>\r\n\r\n<ng-template #templateDropdownIconSelected let-item let-selectedValue=\"selectedValue\">\r\n <span [class]=\"item.label\"></span>\r\n</ng-template>\r\n<ng-template #templateDropdownIcon let-item>\r\n <div class=\"__workflow-setting-icon-item\">\r\n <span [class]=\"item.label\"></span>\r\n </div>\r\n</ng-template>",
|
|
40024
|
+
template: "<div class=\"flex flex-column\" style=\"height: 100%\">\r\n <crud-form #crudForm [(data)]=\"model.data\" [setting]=\"setting\" [context]=\"context\" [disableCaching]=\"true\"\r\n (onFormReady)=\"_handleFormReady($event)\">\r\n </crud-form>\r\n <div class=\"fit\" style=\"overflow: hidden;\">\r\n <tn-tabview [data]=\"mainTabData\" [allowViewAll]=\"true\">\r\n <ng-template #sender>\r\n <statemachines-connection-sender #senderForm [data]=\"data\" [machines]=\"machinesData.machines\"\r\n [viewOnly]=\"viewOnly\">\r\n </statemachines-connection-sender>\r\n </ng-template>\r\n <ng-template #receiver>\r\n <statemachines-connection-receiver #receiverForm [designerContext]=\"designerContext\" [data]=\"data\"\r\n [isFormAdd]=\"isFormAdd\" [workflowData]=\"machinesData\" [viewOnly]=\"viewOnly\">\r\n </statemachines-connection-receiver>\r\n </ng-template>\r\n </tn-tabview>\r\n </div>\r\n</div>\r\n<ng-template #buttonTemplate>\r\n <ng-container *ngIf=\"!viewOnly\">\r\n <button *ngIf=\"!model.data.__disableEdit && !__isFormView\" type=\"button\" pButton icon=\"pi pi-save\"\r\n class=\"p-button-text\" [label]=\"'FORM.SAVE' | translate\" (click)=\"_handleSave($event)\"></button>\r\n <button type=\"button\" pButton icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\"\r\n [label]=\"'X\u00F3a' | translate\" (click)=\"remove($event)\"></button>\r\n </ng-container>\r\n <button type=\"button\" pButton icon=\"pi pi-replay\" class=\"p-button-text p-button-secondary\"\r\n [label]=\"'FORM.CANCEL' | translate\" preventTab (click)=\"_handleCancel($event)\"></button>\r\n</ng-template>\r\n\r\n<ng-template #templateDropdownIconSelected let-item let-selectedValue=\"selectedValue\">\r\n <span [class]=\"item.label\"></span>\r\n</ng-template>\r\n<ng-template #templateDropdownIcon let-item>\r\n <div class=\"__workflow-setting-icon-item\">\r\n <span [class]=\"item.label\"></span>\r\n </div>\r\n</ng-template>",
|
|
39923
40025
|
providers: [ComponentContextService],
|
|
39924
40026
|
styles: [""]
|
|
39925
40027
|
},] }
|
|
@@ -39953,9 +40055,35 @@
|
|
|
39953
40055
|
_super.prototype.ngOnInit.call(this);
|
|
39954
40056
|
this.doNotCheckBaseService = true;
|
|
39955
40057
|
this.setting.schema = [
|
|
40058
|
+
this.createCheckboxRule('departmentRules'),
|
|
39956
40059
|
this.createOrgPickerControlReceiver('departmentIds', 'Đơn vị nhận'),
|
|
40060
|
+
this.createCheckboxRule('departmentViewRules'),
|
|
39957
40061
|
this.createOrgPickerControlReceiver('departmentViewIds', 'Đơn vị theo dõi'),
|
|
39958
40062
|
];
|
|
40063
|
+
if (this.isFormAdd) {
|
|
40064
|
+
if (!this.data.data) {
|
|
40065
|
+
this.data.data = {};
|
|
40066
|
+
}
|
|
40067
|
+
if (this.data.data.departmentRules == null) {
|
|
40068
|
+
this.data.data.departmentRules = [exports.EnumUserRule.NGUOI_NHAN];
|
|
40069
|
+
}
|
|
40070
|
+
if (this.data.data.departmentViewRules == null) {
|
|
40071
|
+
this.data.data.departmentViewRules = [exports.EnumUserRule.NGUOI_THEO_DOI];
|
|
40072
|
+
}
|
|
40073
|
+
}
|
|
40074
|
+
};
|
|
40075
|
+
StateMachinesConnectionReceiverDepartmentComponent.prototype.createCheckboxRule = function (field) {
|
|
40076
|
+
return new CheckBoxListControlSchema({
|
|
40077
|
+
field: field,
|
|
40078
|
+
label: 'Cán bộ đặc biệt',
|
|
40079
|
+
class: 'rules',
|
|
40080
|
+
dataSource: [
|
|
40081
|
+
{ id: exports.EnumUserRule.NGUOI_NHAN, ten: 'Đơn vị nhận bước trước' },
|
|
40082
|
+
{ id: exports.EnumUserRule.NGUOI_THEO_DOI, ten: 'Đơn vị theo dõi bước trước' }
|
|
40083
|
+
],
|
|
40084
|
+
showLabel: false,
|
|
40085
|
+
mdWidth: 12
|
|
40086
|
+
});
|
|
39959
40087
|
};
|
|
39960
40088
|
StateMachinesConnectionReceiverDepartmentComponent.prototype.createOrgPickerControlReceiver = function (field, label) {
|
|
39961
40089
|
var control = createOrgPickerControl(field, label);
|
|
@@ -39991,7 +40119,9 @@
|
|
|
39991
40119
|
});
|
|
39992
40120
|
};
|
|
39993
40121
|
StateMachinesConnectionReceiverDepartmentComponent.prototype.assignFieldPlus = function (dest, source) {
|
|
40122
|
+
dest.departmentRules = source.departmentRules;
|
|
39994
40123
|
dest.departmentIds = source.departmentIds;
|
|
40124
|
+
dest.departmentViewRules = source.departmentViewRules;
|
|
39995
40125
|
dest.departmentViewIds = source.departmentViewIds;
|
|
39996
40126
|
};
|
|
39997
40127
|
return StateMachinesConnectionReceiverDepartmentComponent;
|
|
@@ -40009,6 +40139,7 @@
|
|
|
40009
40139
|
]; };
|
|
40010
40140
|
StateMachinesConnectionReceiverDepartmentComponent.propDecorators = {
|
|
40011
40141
|
data: [{ type: i0.Input }],
|
|
40142
|
+
isFormAdd: [{ type: i0.Input }],
|
|
40012
40143
|
viewOnly: [{ type: i0.Input }]
|
|
40013
40144
|
};
|
|
40014
40145
|
|
|
@@ -40026,9 +40157,35 @@
|
|
|
40026
40157
|
_super.prototype.ngOnInit.call(this);
|
|
40027
40158
|
this.doNotCheckBaseService = true;
|
|
40028
40159
|
this.setting.schema = [
|
|
40160
|
+
this.createCheckboxRule('groupRules'),
|
|
40029
40161
|
this.createUserGroupPickerControlReceiver('groupIds', 'Nhóm người dùng nhận'),
|
|
40162
|
+
this.createCheckboxRule('groupViewRules'),
|
|
40030
40163
|
this.createUserGroupPickerControlReceiver('groupViewIds', 'Nhóm người dùng theo dõi'),
|
|
40031
40164
|
];
|
|
40165
|
+
if (this.isFormAdd) {
|
|
40166
|
+
if (!this.data.data) {
|
|
40167
|
+
this.data.data = {};
|
|
40168
|
+
}
|
|
40169
|
+
if (this.data.data.groupRules == null) {
|
|
40170
|
+
this.data.data.groupRules = [exports.EnumUserRule.NGUOI_NHAN];
|
|
40171
|
+
}
|
|
40172
|
+
if (this.data.data.groupViewRules == null) {
|
|
40173
|
+
this.data.data.groupViewRules = [exports.EnumUserRule.NGUOI_THEO_DOI];
|
|
40174
|
+
}
|
|
40175
|
+
}
|
|
40176
|
+
};
|
|
40177
|
+
StateMachinesConnectionReceiverGroupComponent.prototype.createCheckboxRule = function (field) {
|
|
40178
|
+
return new CheckBoxListControlSchema({
|
|
40179
|
+
field: field,
|
|
40180
|
+
label: 'Cán bộ đặc biệt',
|
|
40181
|
+
class: 'rules',
|
|
40182
|
+
dataSource: [
|
|
40183
|
+
{ id: exports.EnumUserRule.NGUOI_NHAN, ten: 'Nhóm người dùng nhận bước trước' },
|
|
40184
|
+
{ id: exports.EnumUserRule.NGUOI_THEO_DOI, ten: 'Nhóm người dùng theo dõi bước trước' }
|
|
40185
|
+
],
|
|
40186
|
+
showLabel: false,
|
|
40187
|
+
mdWidth: 12
|
|
40188
|
+
});
|
|
40032
40189
|
};
|
|
40033
40190
|
StateMachinesConnectionReceiverGroupComponent.prototype.createUserGroupPickerControlReceiver = function (field, label) {
|
|
40034
40191
|
var control = createUserGroupPickerControl(this._userGroupService, field, label);
|
|
@@ -40064,7 +40221,9 @@
|
|
|
40064
40221
|
});
|
|
40065
40222
|
};
|
|
40066
40223
|
StateMachinesConnectionReceiverGroupComponent.prototype.assignFieldPlus = function (dest, source) {
|
|
40224
|
+
dest.groupRules = source.groupRules;
|
|
40067
40225
|
dest.groupIds = source.groupIds;
|
|
40226
|
+
dest.groupViewRules = source.groupViewRules;
|
|
40068
40227
|
dest.groupViewIds = source.groupViewIds;
|
|
40069
40228
|
};
|
|
40070
40229
|
return StateMachinesConnectionReceiverGroupComponent;
|
|
@@ -40083,14 +40242,39 @@
|
|
|
40083
40242
|
]; };
|
|
40084
40243
|
StateMachinesConnectionReceiverGroupComponent.propDecorators = {
|
|
40085
40244
|
data: [{ type: i0.Input }],
|
|
40245
|
+
isFormAdd: [{ type: i0.Input }],
|
|
40086
40246
|
viewOnly: [{ type: i0.Input }]
|
|
40087
40247
|
};
|
|
40088
40248
|
|
|
40249
|
+
var DmChucVuService = /** @class */ (function (_super) {
|
|
40250
|
+
__extends(DmChucVuService, _super);
|
|
40251
|
+
function DmChucVuService(http, injector, _moduleConfigService) {
|
|
40252
|
+
var _this = _super.call(this, http, injector, _moduleConfigService.getConfig().environment.apiDomain.canboEndpoint + "/" + _moduleConfigService.getConfig().environment.apiVersion + "/DM_ChucVu") || this;
|
|
40253
|
+
_this.serviceCode = 'canbo';
|
|
40254
|
+
_this.entityName = 'DM_ChucVu';
|
|
40255
|
+
_this.endPoint = _moduleConfigService.getConfig().environment.apiDomain.canboEndpoint;
|
|
40256
|
+
_this._moduleConfig = _moduleConfigService.getConfig();
|
|
40257
|
+
return _this;
|
|
40258
|
+
}
|
|
40259
|
+
return DmChucVuService;
|
|
40260
|
+
}(BaseService));
|
|
40261
|
+
DmChucVuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DmChucVuService_Factory() { return new DmChucVuService(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(ModuleConfigService)); }, token: DmChucVuService, providedIn: "root" });
|
|
40262
|
+
DmChucVuService.decorators = [
|
|
40263
|
+
{ type: i0.Injectable, args: [{
|
|
40264
|
+
providedIn: 'root'
|
|
40265
|
+
},] }
|
|
40266
|
+
];
|
|
40267
|
+
DmChucVuService.ctorParameters = function () { return [
|
|
40268
|
+
{ type: i1$1.HttpClient },
|
|
40269
|
+
{ type: i0.Injector },
|
|
40270
|
+
{ type: ModuleConfigService }
|
|
40271
|
+
]; };
|
|
40272
|
+
|
|
40089
40273
|
var StateMachinesConnectionReceiverRoleComponent = /** @class */ (function (_super) {
|
|
40090
40274
|
__extends(StateMachinesConnectionReceiverRoleComponent, _super);
|
|
40091
|
-
function StateMachinesConnectionReceiverRoleComponent(injector,
|
|
40275
|
+
function StateMachinesConnectionReceiverRoleComponent(injector, _dmChucVuService) {
|
|
40092
40276
|
var _this = _super.call(this, injector) || this;
|
|
40093
|
-
_this.
|
|
40277
|
+
_this._dmChucVuService = _dmChucVuService;
|
|
40094
40278
|
_this.dataSourceAction = [];
|
|
40095
40279
|
_this.autoGetDetail = false;
|
|
40096
40280
|
_this.autoSave = false;
|
|
@@ -40100,12 +40284,38 @@
|
|
|
40100
40284
|
_super.prototype.ngOnInit.call(this);
|
|
40101
40285
|
this.doNotCheckBaseService = true;
|
|
40102
40286
|
this.setting.schema = [
|
|
40103
|
-
this.
|
|
40104
|
-
this.createRolePickerControlReceiver('
|
|
40287
|
+
this.createCheckboxRule('roleRules'),
|
|
40288
|
+
this.createRolePickerControlReceiver('roleIds', 'Chức vụ nhận'),
|
|
40289
|
+
this.createCheckboxRule('roleViewRules'),
|
|
40290
|
+
this.createRolePickerControlReceiver('roleViewIds', 'Chức vụ theo dõi'),
|
|
40105
40291
|
];
|
|
40292
|
+
if (this.isFormAdd) {
|
|
40293
|
+
if (!this.data.data) {
|
|
40294
|
+
this.data.data = {};
|
|
40295
|
+
}
|
|
40296
|
+
if (this.data.data.roleRules == null) {
|
|
40297
|
+
this.data.data.roleRules = [exports.EnumUserRule.NGUOI_NHAN];
|
|
40298
|
+
}
|
|
40299
|
+
if (this.data.data.roleViewRules == null) {
|
|
40300
|
+
this.data.data.roleViewRules = [exports.EnumUserRule.NGUOI_THEO_DOI];
|
|
40301
|
+
}
|
|
40302
|
+
}
|
|
40303
|
+
};
|
|
40304
|
+
StateMachinesConnectionReceiverRoleComponent.prototype.createCheckboxRule = function (field) {
|
|
40305
|
+
return new CheckBoxListControlSchema({
|
|
40306
|
+
field: field,
|
|
40307
|
+
label: 'Cán bộ đặc biệt',
|
|
40308
|
+
class: 'rules',
|
|
40309
|
+
dataSource: [
|
|
40310
|
+
{ id: exports.EnumUserRule.NGUOI_NHAN, ten: 'Chức vụ nhận bước trước' },
|
|
40311
|
+
{ id: exports.EnumUserRule.NGUOI_THEO_DOI, ten: 'Chức vụ theo dõi bước trước' }
|
|
40312
|
+
],
|
|
40313
|
+
showLabel: false,
|
|
40314
|
+
mdWidth: 12
|
|
40315
|
+
});
|
|
40106
40316
|
};
|
|
40107
40317
|
StateMachinesConnectionReceiverRoleComponent.prototype.createRolePickerControlReceiver = function (field, label) {
|
|
40108
|
-
var control = createRolePickerControl(this.
|
|
40318
|
+
var control = createRolePickerControl(this._dmChucVuService, field, label);
|
|
40109
40319
|
return control;
|
|
40110
40320
|
};
|
|
40111
40321
|
StateMachinesConnectionReceiverRoleComponent.prototype.onFormInitialized = function (evt) {
|
|
@@ -40138,7 +40348,9 @@
|
|
|
40138
40348
|
});
|
|
40139
40349
|
};
|
|
40140
40350
|
StateMachinesConnectionReceiverRoleComponent.prototype.assignFieldPlus = function (dest, source) {
|
|
40351
|
+
dest.roleRules = source.roleRules;
|
|
40141
40352
|
dest.roleIds = source.roleIds;
|
|
40353
|
+
dest.roleViewRules = source.roleViewRules;
|
|
40142
40354
|
dest.roleViewIds = source.roleViewIds;
|
|
40143
40355
|
};
|
|
40144
40356
|
return StateMachinesConnectionReceiverRoleComponent;
|
|
@@ -40153,10 +40365,11 @@
|
|
|
40153
40365
|
];
|
|
40154
40366
|
StateMachinesConnectionReceiverRoleComponent.ctorParameters = function () { return [
|
|
40155
40367
|
{ type: i0.Injector },
|
|
40156
|
-
{ type:
|
|
40368
|
+
{ type: DmChucVuService }
|
|
40157
40369
|
]; };
|
|
40158
40370
|
StateMachinesConnectionReceiverRoleComponent.propDecorators = {
|
|
40159
40371
|
data: [{ type: i0.Input }],
|
|
40372
|
+
isFormAdd: [{ type: i0.Input }],
|
|
40160
40373
|
viewOnly: [{ type: i0.Input }]
|
|
40161
40374
|
};
|
|
40162
40375
|
|
|
@@ -40342,13 +40555,194 @@
|
|
|
40342
40555
|
viewOnly: [{ type: i0.Input }]
|
|
40343
40556
|
};
|
|
40344
40557
|
|
|
40558
|
+
var StateMachinesConnectionReceiverConditionComponent = /** @class */ (function (_super) {
|
|
40559
|
+
__extends(StateMachinesConnectionReceiverConditionComponent, _super);
|
|
40560
|
+
function StateMachinesConnectionReceiverConditionComponent(injector, _dmChucVuService, _userGroupService) {
|
|
40561
|
+
var _this = _super.call(this, injector) || this;
|
|
40562
|
+
_this._dmChucVuService = _dmChucVuService;
|
|
40563
|
+
_this._userGroupService = _userGroupService;
|
|
40564
|
+
_this.receiverDynamicRules = [];
|
|
40565
|
+
_this.receiverDynamicViewRules = [];
|
|
40566
|
+
_this.dataSourceAction = [];
|
|
40567
|
+
_this.autoGetDetail = false;
|
|
40568
|
+
_this.autoSave = false;
|
|
40569
|
+
return _this;
|
|
40570
|
+
}
|
|
40571
|
+
StateMachinesConnectionReceiverConditionComponent.prototype.ngOnInit = function () {
|
|
40572
|
+
_super.prototype.ngOnInit.call(this);
|
|
40573
|
+
this.doNotCheckBaseService = true;
|
|
40574
|
+
this.renderDataSourceAction();
|
|
40575
|
+
this.setting.schema = [
|
|
40576
|
+
new CustomControlSchema({
|
|
40577
|
+
field: 'receiverRules',
|
|
40578
|
+
label: 'Người nhận xử lý',
|
|
40579
|
+
mdWidth: 12
|
|
40580
|
+
}),
|
|
40581
|
+
new CustomControlSchema({
|
|
40582
|
+
field: 'receiverViewRules',
|
|
40583
|
+
label: 'Người nhận chỉ xem',
|
|
40584
|
+
mdWidth: 12
|
|
40585
|
+
})
|
|
40586
|
+
];
|
|
40587
|
+
this.dynamicSchema = [
|
|
40588
|
+
new DropdownControlSchema({
|
|
40589
|
+
field: 'ruleType',
|
|
40590
|
+
label: 'Người dùng',
|
|
40591
|
+
dataSource: DataSourceUserRule,
|
|
40592
|
+
operators: [
|
|
40593
|
+
{ id: exports.Operator.in, ten: 'Là' }
|
|
40594
|
+
]
|
|
40595
|
+
}),
|
|
40596
|
+
new DropdownControlSchema({
|
|
40597
|
+
field: 'userMade',
|
|
40598
|
+
label: 'Người dùng thao tác',
|
|
40599
|
+
valueField: 'code',
|
|
40600
|
+
dataSource: this.dataSourceAction,
|
|
40601
|
+
operators: [
|
|
40602
|
+
{ id: exports.Operator.in, ten: 'Thao tác' }
|
|
40603
|
+
]
|
|
40604
|
+
}),
|
|
40605
|
+
new UserPickerControlSchema({
|
|
40606
|
+
field: 'userIds',
|
|
40607
|
+
label: 'Người dùng đích danh',
|
|
40608
|
+
placeholder: 'Chọn người dùng',
|
|
40609
|
+
mdWidth: 12
|
|
40610
|
+
}),
|
|
40611
|
+
createOrgPickerControl('donViId', 'Đơn vị'),
|
|
40612
|
+
new DropdownControlSchema({
|
|
40613
|
+
field: 'donViCap',
|
|
40614
|
+
label: 'Đơn vị cấp',
|
|
40615
|
+
multiple: true,
|
|
40616
|
+
dataSource: [
|
|
40617
|
+
{ id: 1, ten: '1' },
|
|
40618
|
+
{ id: 2, ten: '2' },
|
|
40619
|
+
{ id: 3, ten: '3' }
|
|
40620
|
+
]
|
|
40621
|
+
}),
|
|
40622
|
+
createRolePickerControl(this._dmChucVuService, 'roleId', 'Chức vụ'),
|
|
40623
|
+
createUserGroupPickerControl(this._userGroupService, 'groupId', 'Nhóm người dùng'),
|
|
40624
|
+
new NumberRangeControlSchema({
|
|
40625
|
+
field: 'lanThu',
|
|
40626
|
+
label: 'Lần thứ'
|
|
40627
|
+
}),
|
|
40628
|
+
new CustomControlSchema({
|
|
40629
|
+
field: 'customField',
|
|
40630
|
+
label: 'Trường dữ liệu',
|
|
40631
|
+
operators: [
|
|
40632
|
+
{ id: exports.Operator.equal, ten: 'Bằng' },
|
|
40633
|
+
{ id: exports.Operator.notEqual, ten: 'Không bằng' },
|
|
40634
|
+
{ id: exports.Operator.greater, ten: 'Lớn hơn' },
|
|
40635
|
+
{ id: exports.Operator.greaterThanEqual, ten: 'Lớn hơn hoặc bằng' },
|
|
40636
|
+
{ id: exports.Operator.lower, ten: 'Nhỏ hơn' },
|
|
40637
|
+
{ id: exports.Operator.lowerThanEqual, ten: 'Nhỏ hơn hoặc bằng' }
|
|
40638
|
+
]
|
|
40639
|
+
})
|
|
40640
|
+
];
|
|
40641
|
+
if (this.data && this.data.data) {
|
|
40642
|
+
this.receiverDynamicRules = this.data.data.receiverRules;
|
|
40643
|
+
this.receiverDynamicViewRules = this.data.data.receiverViewRules;
|
|
40644
|
+
}
|
|
40645
|
+
if (this.isFormAdd) {
|
|
40646
|
+
this.receiverDynamicViewRules = [
|
|
40647
|
+
this.newFilter('ruleType', exports.Operator.in, [
|
|
40648
|
+
exports.EnumUserRule.NGUOI_THAM_GIA_QUY_TRINH,
|
|
40649
|
+
exports.EnumUserRule.NGUOI_NHAN,
|
|
40650
|
+
exports.EnumUserRule.NGUOI_THEO_DOI
|
|
40651
|
+
])
|
|
40652
|
+
];
|
|
40653
|
+
}
|
|
40654
|
+
};
|
|
40655
|
+
StateMachinesConnectionReceiverConditionComponent.prototype.renderDataSourceAction = function () {
|
|
40656
|
+
var _this = this;
|
|
40657
|
+
var dataSourceAction = [];
|
|
40658
|
+
if (this.workflowData) {
|
|
40659
|
+
this.workflowData.connections.sort(multipleSort('soThuTu')).forEach(function (action) {
|
|
40660
|
+
var source = _this.workflowData.machines.find(function (q) { return q.id == action.source; });
|
|
40661
|
+
if (source) {
|
|
40662
|
+
var itemAdd_1 = {
|
|
40663
|
+
code: source.code + "___" + action.code,
|
|
40664
|
+
name: action.name,
|
|
40665
|
+
nameLower: action.name.toLowerCase(),
|
|
40666
|
+
ten: action.name,
|
|
40667
|
+
sourceName: source.name
|
|
40668
|
+
};
|
|
40669
|
+
var itemExist = dataSourceAction.find(function (q) { return q.nameLower == itemAdd_1.nameLower; });
|
|
40670
|
+
if (itemExist) {
|
|
40671
|
+
itemExist.ten = itemExist.name + " (" + itemExist.sourceName + ")";
|
|
40672
|
+
itemAdd_1.ten = itemAdd_1.name + " (" + itemAdd_1.sourceName + ")";
|
|
40673
|
+
}
|
|
40674
|
+
dataSourceAction.push(itemAdd_1);
|
|
40675
|
+
}
|
|
40676
|
+
});
|
|
40677
|
+
}
|
|
40678
|
+
this.dataSourceAction = dataSourceAction;
|
|
40679
|
+
};
|
|
40680
|
+
StateMachinesConnectionReceiverConditionComponent.prototype.onFormInitialized = function (evt) {
|
|
40681
|
+
var _a;
|
|
40682
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
40683
|
+
return __generator(this, function (_b) {
|
|
40684
|
+
if (this.data) {
|
|
40685
|
+
this.assignFieldPlus(evt.model, (_a = this.data.data) !== null && _a !== void 0 ? _a : {});
|
|
40686
|
+
}
|
|
40687
|
+
else {
|
|
40688
|
+
evt.model.data = {};
|
|
40689
|
+
}
|
|
40690
|
+
return [2 /*return*/];
|
|
40691
|
+
});
|
|
40692
|
+
});
|
|
40693
|
+
};
|
|
40694
|
+
StateMachinesConnectionReceiverConditionComponent.prototype.assignFieldPlus = function (dest, source) {
|
|
40695
|
+
dest.receiverRules = source.receiverRules;
|
|
40696
|
+
dest.receiverViewRules = source.receiverViewRules;
|
|
40697
|
+
};
|
|
40698
|
+
StateMachinesConnectionReceiverConditionComponent.prototype.getModelData = function () {
|
|
40699
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
40700
|
+
var dataPlus;
|
|
40701
|
+
return __generator(this, function (_b) {
|
|
40702
|
+
dataPlus = {};
|
|
40703
|
+
this.model.data.receiverRules = this.queryBuilder.getQuery();
|
|
40704
|
+
this.model.data.receiverViewRules = this.queryBuilderView.getQuery();
|
|
40705
|
+
this.assignFieldPlus(dataPlus, this.model.data);
|
|
40706
|
+
return [2 /*return*/, dataPlus];
|
|
40707
|
+
});
|
|
40708
|
+
});
|
|
40709
|
+
};
|
|
40710
|
+
return StateMachinesConnectionReceiverConditionComponent;
|
|
40711
|
+
}(DataFormBase));
|
|
40712
|
+
StateMachinesConnectionReceiverConditionComponent.decorators = [
|
|
40713
|
+
{ type: i0.Component, args: [{
|
|
40714
|
+
selector: 'statemachines-connection-receiver-condition',
|
|
40715
|
+
template: "<crud-form #crudForm [(data)]=\"model.data\" [setting]=\"setting\" [context]=\"context\" [disableCaching]=\"true\"\r\n (onFormReady)=\"_handleFormReady($event)\">\r\n <ng-template #receiverRules>\r\n <query-builder #queryBuilder [searchSchema]=\"dynamicSchema\" [filters]=\"receiverDynamicRules\"\r\n [hiddenButtons]=\"true\" [useScrollBar]=\"false\"></query-builder>\r\n </ng-template>\r\n <ng-template #receiverViewRules>\r\n <query-builder #queryBuilderView [searchSchema]=\"dynamicSchema\" [filters]=\"receiverDynamicViewRules\"\r\n [hiddenButtons]=\"true\" [useScrollBar]=\"false\"></query-builder>\r\n </ng-template>\r\n</crud-form>",
|
|
40716
|
+
providers: [ComponentContextService],
|
|
40717
|
+
styles: ["::ng-deep statemachines-connection-receiver-condition query-builder-rule .tn__rule-field{flex:0 0 180px;width:180px}::ng-deep statemachines-connection-receiver-condition query-builder-rule .tn__rule-value{flex:0 0 calc(100% - 340px);width:calc(100% - 340px)}"]
|
|
40718
|
+
},] }
|
|
40719
|
+
];
|
|
40720
|
+
StateMachinesConnectionReceiverConditionComponent.ctorParameters = function () { return [
|
|
40721
|
+
{ type: i0.Injector },
|
|
40722
|
+
{ type: DmChucVuService },
|
|
40723
|
+
{ type: UserGroupRealService }
|
|
40724
|
+
]; };
|
|
40725
|
+
StateMachinesConnectionReceiverConditionComponent.propDecorators = {
|
|
40726
|
+
queryBuilder: [{ type: i0.ViewChild, args: ['queryBuilder', { static: false },] }],
|
|
40727
|
+
queryBuilderView: [{ type: i0.ViewChild, args: ['queryBuilderView', { static: false },] }],
|
|
40728
|
+
workflowData: [{ type: i0.Input }],
|
|
40729
|
+
data: [{ type: i0.Input }],
|
|
40730
|
+
isFormAdd: [{ type: i0.Input }],
|
|
40731
|
+
viewOnly: [{ type: i0.Input }]
|
|
40732
|
+
};
|
|
40733
|
+
|
|
40345
40734
|
var StateMachinesConnectionReceiverComponent = /** @class */ (function (_super) {
|
|
40346
40735
|
__extends(StateMachinesConnectionReceiverComponent, _super);
|
|
40347
40736
|
function StateMachinesConnectionReceiverComponent(injector) {
|
|
40348
40737
|
var _this = _super.call(this, injector) || this;
|
|
40349
40738
|
_this.tabDataReceiver = [
|
|
40739
|
+
// {
|
|
40740
|
+
// code: 'user',
|
|
40741
|
+
// icon: 'fa fa-user',
|
|
40742
|
+
// label: ''
|
|
40743
|
+
// },
|
|
40350
40744
|
{
|
|
40351
|
-
code: '
|
|
40745
|
+
code: 'condition',
|
|
40352
40746
|
icon: 'fa fa-user',
|
|
40353
40747
|
label: ''
|
|
40354
40748
|
},
|
|
@@ -40374,18 +40768,18 @@
|
|
|
40374
40768
|
};
|
|
40375
40769
|
StateMachinesConnectionReceiverComponent.prototype.getModelData = function () {
|
|
40376
40770
|
return __awaiter(this, void 0, void 0, function () {
|
|
40377
|
-
var dataPlus,
|
|
40771
|
+
var dataPlus, modelCondition, modelDepartment, modelGroup, roleGroup;
|
|
40378
40772
|
return __generator(this, function (_a) {
|
|
40379
40773
|
switch (_a.label) {
|
|
40380
40774
|
case 0:
|
|
40381
40775
|
dataPlus = {};
|
|
40382
|
-
return [4 /*yield*/, this.
|
|
40776
|
+
return [4 /*yield*/, this.conditionForm.getModelData()];
|
|
40383
40777
|
case 1:
|
|
40384
|
-
|
|
40385
|
-
if (
|
|
40778
|
+
modelCondition = _a.sent();
|
|
40779
|
+
if (modelCondition == null) {
|
|
40386
40780
|
return [2 /*return*/, null];
|
|
40387
40781
|
}
|
|
40388
|
-
this.
|
|
40782
|
+
this.conditionForm.assignFieldPlus(dataPlus, modelCondition);
|
|
40389
40783
|
return [4 /*yield*/, this.departmentForm.getModelData()];
|
|
40390
40784
|
case 2:
|
|
40391
40785
|
modelDepartment = _a.sent();
|
|
@@ -40417,7 +40811,7 @@
|
|
|
40417
40811
|
StateMachinesConnectionReceiverComponent.decorators = [
|
|
40418
40812
|
{ type: i0.Component, args: [{
|
|
40419
40813
|
selector: 'statemachines-connection-receiver',
|
|
40420
|
-
template: "<div style=\"height: 100%\">\r\n <tn-tabview [data]=\"tabDataReceiver\" [allowViewAll]=\"true\" [vertical]=\"true\">\r\n <ng-template #user>\r\n <tn-custom-scrollbar>\r\n <statemachines-connection-receiver-user #user [designerContext]=\"designerContext\" [data]=\"data\"\r\n [workflowData]=\"workflowData\" [viewOnly]=\"viewOnly\">\r\n </statemachines-connection-receiver-user>\r\n </tn-custom-scrollbar>\r\n </ng-template>\r\n <ng-template #department>\r\n <tn-custom-scrollbar>\r\n <statemachines-connection-receiver-department #user [data]=\"data\" [viewOnly]=\"viewOnly\">\r\n </statemachines-connection-receiver-department>\r\n </tn-custom-scrollbar>\r\n </ng-template>\r\n <ng-template #group>\r\n <tn-custom-scrollbar>\r\n <statemachines-connection-receiver-group #user [data]=\"data\" [viewOnly]=\"viewOnly\">\r\n </statemachines-connection-receiver-group>\r\n </tn-custom-scrollbar>\r\n </ng-template>\r\n <ng-template #role>\r\n <tn-custom-scrollbar>\r\n <statemachines-connection-receiver-role #user [data]=\"data\" [viewOnly]=\"viewOnly\">\r\n </statemachines-connection-receiver-role>\r\n </tn-custom-scrollbar>\r\n </ng-template>\r\n </tn-tabview>\r\n</div>",
|
|
40814
|
+
template: "<div style=\"height: 100%\">\r\n <tn-tabview [data]=\"tabDataReceiver\" [allowViewAll]=\"true\" [vertical]=\"true\">\r\n <!-- <ng-template #user>\r\n <tn-custom-scrollbar>\r\n <statemachines-connection-receiver-user #user [designerContext]=\"designerContext\" [data]=\"data\"\r\n [workflowData]=\"workflowData\" [viewOnly]=\"viewOnly\">\r\n </statemachines-connection-receiver-user>\r\n </tn-custom-scrollbar>\r\n </ng-template> -->\r\n <ng-template #condition>\r\n <tn-custom-scrollbar>\r\n <statemachines-connection-receiver-condition #condition [workflowData]=\"workflowData\" [data]=\"data\"\r\n [isFormAdd]=\"isFormAdd\" [viewOnly]=\"viewOnly\">\r\n </statemachines-connection-receiver-condition>\r\n </tn-custom-scrollbar>\r\n </ng-template>\r\n <ng-template #department>\r\n <tn-custom-scrollbar>\r\n <statemachines-connection-receiver-department #user [data]=\"data\" [isFormAdd]=\"isFormAdd\"\r\n [viewOnly]=\"viewOnly\">\r\n </statemachines-connection-receiver-department>\r\n </tn-custom-scrollbar>\r\n </ng-template>\r\n <ng-template #group>\r\n <tn-custom-scrollbar>\r\n <statemachines-connection-receiver-group #user [data]=\"data\" [isFormAdd]=\"isFormAdd\"\r\n [viewOnly]=\"viewOnly\">\r\n </statemachines-connection-receiver-group>\r\n </tn-custom-scrollbar>\r\n </ng-template>\r\n <ng-template #role>\r\n <tn-custom-scrollbar>\r\n <statemachines-connection-receiver-role #user [data]=\"data\" [isFormAdd]=\"isFormAdd\"\r\n [viewOnly]=\"viewOnly\">\r\n </statemachines-connection-receiver-role>\r\n </tn-custom-scrollbar>\r\n </ng-template>\r\n </tn-tabview>\r\n</div>",
|
|
40421
40815
|
providers: [ComponentContextService],
|
|
40422
40816
|
styles: ["::ng-deep statemachines-connection-metadata .userRules .tn-check-box-list,::ng-deep statemachines-connection-metadata .userViewRules .tn-check-box-list{margin-bottom:.5em!important;margin-top:-.5em}::ng-deep statemachines-connection-metadata .userIds .label,::ng-deep statemachines-connection-metadata .userViewIds .label{font-weight:700}"]
|
|
40423
40817
|
},] }
|
|
@@ -40427,22 +40821,24 @@
|
|
|
40427
40821
|
]; };
|
|
40428
40822
|
StateMachinesConnectionReceiverComponent.propDecorators = {
|
|
40429
40823
|
userForm: [{ type: i0.ViewChild, args: [StateMachinesConnectionReceiverUserComponent, { static: false },] }],
|
|
40824
|
+
conditionForm: [{ type: i0.ViewChild, args: [StateMachinesConnectionReceiverConditionComponent, { static: false },] }],
|
|
40430
40825
|
departmentForm: [{ type: i0.ViewChild, args: [StateMachinesConnectionReceiverDepartmentComponent, { static: false },] }],
|
|
40431
40826
|
groupForm: [{ type: i0.ViewChild, args: [StateMachinesConnectionReceiverGroupComponent, { static: false },] }],
|
|
40432
40827
|
roleForm: [{ type: i0.ViewChild, args: [StateMachinesConnectionReceiverRoleComponent, { static: false },] }],
|
|
40433
40828
|
designerContext: [{ type: i0.Input }],
|
|
40434
40829
|
data: [{ type: i0.Input }],
|
|
40830
|
+
isFormAdd: [{ type: i0.Input }],
|
|
40435
40831
|
workflowData: [{ type: i0.Input }],
|
|
40436
40832
|
viewOnly: [{ type: i0.Input }]
|
|
40437
40833
|
};
|
|
40438
40834
|
|
|
40439
40835
|
var StateMachinesConnectionSenderComponent = /** @class */ (function (_super) {
|
|
40440
40836
|
__extends(StateMachinesConnectionSenderComponent, _super);
|
|
40441
|
-
function StateMachinesConnectionSenderComponent(injector, notifierService, _userGroupService,
|
|
40837
|
+
function StateMachinesConnectionSenderComponent(injector, notifierService, _userGroupService, _dmChucVuService) {
|
|
40442
40838
|
var _this = _super.call(this, injector) || this;
|
|
40443
40839
|
_this.notifierService = notifierService;
|
|
40444
40840
|
_this._userGroupService = _userGroupService;
|
|
40445
|
-
_this.
|
|
40841
|
+
_this._dmChucVuService = _dmChucVuService;
|
|
40446
40842
|
_this.dynamicRules = [];
|
|
40447
40843
|
_this.autoGetDetail = false;
|
|
40448
40844
|
_this.autoSave = false;
|
|
@@ -40472,7 +40868,7 @@
|
|
|
40472
40868
|
{ id: 3, ten: '3' }
|
|
40473
40869
|
]
|
|
40474
40870
|
}),
|
|
40475
|
-
createRolePickerControl(this.
|
|
40871
|
+
createRolePickerControl(this._dmChucVuService, 'roleId', 'Chức vụ'),
|
|
40476
40872
|
userGroupPickerControl,
|
|
40477
40873
|
new DropdownControlSchema({
|
|
40478
40874
|
field: 'lastStateCode',
|
|
@@ -40482,6 +40878,18 @@
|
|
|
40482
40878
|
displayField: 'name',
|
|
40483
40879
|
showLabel: false,
|
|
40484
40880
|
mdWidth: 12
|
|
40881
|
+
}),
|
|
40882
|
+
new CustomControlSchema({
|
|
40883
|
+
field: 'customField',
|
|
40884
|
+
label: 'Trường dữ liệu',
|
|
40885
|
+
operators: [
|
|
40886
|
+
{ id: exports.Operator.equal, ten: 'Bằng' },
|
|
40887
|
+
{ id: exports.Operator.notEqual, ten: 'Không bằng' },
|
|
40888
|
+
{ id: exports.Operator.greater, ten: 'Lớn hơn' },
|
|
40889
|
+
{ id: exports.Operator.greaterThanEqual, ten: 'Lớn hơn hoặc bằng' },
|
|
40890
|
+
{ id: exports.Operator.lower, ten: 'Nhỏ hơn' },
|
|
40891
|
+
{ id: exports.Operator.lowerThanEqual, ten: 'Nhỏ hơn hoặc bằng' }
|
|
40892
|
+
]
|
|
40485
40893
|
})
|
|
40486
40894
|
];
|
|
40487
40895
|
if (this.data && this.data.data) {
|
|
@@ -40536,7 +40944,7 @@
|
|
|
40536
40944
|
{ type: i0.Injector },
|
|
40537
40945
|
{ type: NotifierService },
|
|
40538
40946
|
{ type: UserGroupRealService },
|
|
40539
|
-
{ type:
|
|
40947
|
+
{ type: DmChucVuService }
|
|
40540
40948
|
]; };
|
|
40541
40949
|
StateMachinesConnectionSenderComponent.propDecorators = {
|
|
40542
40950
|
queryBuilder: [{ type: i0.ViewChild, args: ['queryBuilder', { static: false },] }],
|
|
@@ -41398,7 +41806,7 @@
|
|
|
41398
41806
|
TnAppHelpComponent.decorators = [
|
|
41399
41807
|
{ type: i0.Component, args: [{
|
|
41400
41808
|
selector: 'li[tn-app-help]',
|
|
41401
|
-
template: "<a href=\"javascript:;\" tabindex=\"9\" (click)=\"showHelper()\" style=\"height: 30px;\" pTooltip=\"Tr\u1EE3 gi\u00FAp\"\r\n tooltipPosition=\"bottom\">\r\n <span class=\"topbar-icon-left\">\r\n <!-- <svg focusable=\"false\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"\r\n class=\"topbar-icon animated swing svgmodule\">\r\n <path fill=\"currentColor\"\r\n d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z\"\r\n class=\"\"></path>\r\n </svg> -->\r\n <i class=\"topbar-icon animated swing pi pi-question-circle\"></i>\r\n </span>\r\n <span class=\"topbar-item-name\">{{ \"Tr\u1EE3 gi\u00FAp\" | translate }}</span>\r\n</a>\r\n\r\n<p-sidebar [styleClass]=\"'HelperSlideBar tn-l-sidebar-wrapper'\" [(visible)]=\"display\" position=\"right\"\r\n [appendTo]=\"'body'\" [style]=\"{ width: '30em', border: 0, 'max-width': '100vw' }\">\r\n <div style=\"background-color: #fff; box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.35);\">\r\n <h1 style=\"font-size: 16px; color: #212529;\">Trung t\u00E2m tr\u1EE3 gi\u00FAp</h1>\r\n </div>\r\n\r\n <div class=\"tn-l-help-wrapper\">\r\n <tn-custom-scrollbar #scrollbar [style]=\"{'max-height':'calc(100vh - 50px)'}\">\r\n <div class=\"HelpCenter\">\r\n <div class=\"p-grid\" style=\"margin-top:10px; margin-bottom:
|
|
41809
|
+
template: "<a href=\"javascript:;\" tabindex=\"9\" (click)=\"showHelper()\" style=\"height: 30px;\" pTooltip=\"Tr\u1EE3 gi\u00FAp\"\r\n tooltipPosition=\"bottom\">\r\n <span class=\"topbar-icon-left\">\r\n <!-- <svg focusable=\"false\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"\r\n class=\"topbar-icon animated swing svgmodule\">\r\n <path fill=\"currentColor\"\r\n d=\"M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z\"\r\n class=\"\"></path>\r\n </svg> -->\r\n <i class=\"topbar-icon animated swing pi pi-question-circle\"></i>\r\n </span>\r\n <span class=\"topbar-item-name\">{{ \"Tr\u1EE3 gi\u00FAp\" | translate }}</span>\r\n</a>\r\n\r\n<p-sidebar [styleClass]=\"'HelperSlideBar tn-l-sidebar-wrapper'\" [(visible)]=\"display\" position=\"right\"\r\n [appendTo]=\"'body'\" [style]=\"{ width: '30em', border: 0, 'max-width': '100vw' }\">\r\n <div style=\"background-color: #fff; box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.35);\">\r\n <h1 style=\"font-size: 16px; color: #212529;\">Trung t\u00E2m tr\u1EE3 gi\u00FAp</h1>\r\n </div>\r\n\r\n <div class=\"tn-l-help-wrapper\">\r\n <tn-custom-scrollbar #scrollbar [style]=\"{'max-height':'calc(100vh - 50px)'}\">\r\n <div class=\"HelpCenter\">\r\n <div class=\"p-grid\" style=\"margin-top:10px; margin-bottom: 25px;\">\r\n <div class=\"p-col-8\">\r\n <p style=\"font-weight:bold;font-size: 16px;margin-bottom: 8px; margin-top:20px\">\r\n {{environment.helpConfig?.expertName}}\r\n </p>\r\n <p style=\"margin: 0px;\">\r\n <a [href]=\"hrefTelephone\"><i class=\"fas fa-phone\"\r\n style=\"margin-right: 8px; width: 15px\"></i>{{phoneNumber}}</a>\r\n </p>\r\n <p style=\"margin-top: 8px;\">\r\n <a [href]=\"hrefMail\"><i class=\"fas fa-envelope\"\r\n style=\"margin-right: 8px; width: 15px\"></i>{{mail}}</a>\r\n </p>\r\n </div>\r\n <div class=\"p-col-4\">\r\n <img src=\"/assets/images/tri-nam-group-logo.png\"\r\n style=\"width: 100%; float: right; margin-top: 15px; opacity: 0.7;\" />\r\n </div>\r\n </div>\r\n\r\n <div class=\"p-grid p-m-0 HelpCenter-video\" style=\"margin-top: 0px\">\r\n <div class=\"p-col-12 help-title\">\r\n <span class=\"tit-name\">Xem h\u01B0\u1EDBng d\u1EABn</span>\r\n </div>\r\n <div class=\"p-col-12 help-content\">\r\n <h2 *ngIf=\"showHelperCurrentPageState\" style=\"margin-top: 0px\">\r\n <a href=\"javascript:;\" (click)=\"showHelperCurrentPage(null)\"\r\n style=\"display:inline-block; position: relative; border-top: 1px solid #52abf5;\">\r\n <img src=\"/assets/images/bgvideo.png\" alt=\"screen shot\"\r\n style=\"width:100%; filter: brightness(0.88);\" />\r\n <i class=\"fab fa-youtube fa-2x\"></i>\r\n </a>\r\n </h2>\r\n </div>\r\n </div>\r\n\r\n <div class=\"p-grid p-m-0 HelpCenter-download\" style=\"margin-top: 0px; margin-bottom: 40px;\">\r\n <div class=\"p-col-12 help-title\">\r\n <span class=\"tit-name\">Ph\u1EA7n m\u1EC1m ti\u1EC7n \u00EDch</span>\r\n </div>\r\n <div class=\"tn-l-pmti\" style=\"border: 1px solid #ccc; width: 100%\">\r\n <div class=\"p-col-4 help-content\">\r\n <p style=\"margin-top: 18px; text-align: center;\">\r\n <a target=\"_blank\" href=\"{{environment.signalr.linkDownloadClientApp}}\"\r\n style=\"display: inline-block; text-align: center;\">\r\n <img src=\"/assets/images/icon-appTN64x64.png\" />\r\n <br />TN Client\r\n </a>\r\n </p>\r\n </div>\r\n <div class=\"p-col-4 help-content\">\r\n <p style=\"margin-top: 18px; text-align: center;\">\r\n <a target=\"_blank\" href=\"https://ultraviewer.net/vi/UltraViewer_setup_6.2_vi.exe\"\r\n style=\"display: inline-block; text-align: center;\">\r\n <img src=\"/assets/images/ultraviewer.ico\" />\r\n <br />Ultraviewer\r\n </a>\r\n </p>\r\n </div>\r\n <div class=\"p-col-4 help-content\">\r\n <p style=\"margin-top: 18px; text-align: center;\">\r\n <a target=\"_blank\" href=\"https://www.teamviewer.com/vi/tai-xuong-tu-dong-teamviewer/\"\r\n style=\"display: inline-block; text-align: center;\">\r\n <img src=\"/assets/images/icon-teamviewer.png\" />\r\n <br />Teamviewer\r\n </a>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </tn-custom-scrollbar>\r\n </div>\r\n</p-sidebar>",
|
|
41402
41810
|
providers: [ComponentContextService],
|
|
41403
41811
|
styles: [".HelpCenter{color:#555;padding:0 20px}::ng-deep .tn-l-sidebar-wrapper{padding:0}.tn-l-pmti{display:flex}.HelpCenter p:first-child img{margin-bottom:10px}::ng-deep .HelperSlideBar .p-sidebar-content>button{color:#212529;cursor:pointer;font-size:20px;margin-right:14px;margin-top:10px}::ng-deep .ui-sidebar{padding:0}::ng-deep .HelperSlideBar h1{height:50px;line-height:50px;margin:0;padding-left:20px;text-transform:uppercase}.HelpCenter-video{position:relative}.HelpCenter-video i{color:#454545;cursor:pointer;left:50%;opacity:.5;position:absolute;top:calc(50% - 10px);transform:translateX(-50%) translateY(-50%);transition:.5s}.HelpCenter-video video{opacity:1}.HelpCenter-video:hover video{cursor:pointer;opacity:.5}.HelpCenter-video:hover i{opacity:1}.HelpCenter-download img{height:45px;width:45px}.HelpCenter .help-title{background-color:rgba(49,146,225,.8784313725490196);color:#fff}.HelpCenter .help-title .tit-name{font-size:14px;font-weight:700}.HelpCenter .help-content{padding:0}.HelpCenter .HelpCenter-comment .help-content{padding:0;text-align:center}.HelpCenter-comment,.HelpCenter-download,.HelpCenter-video{margin-bottom:15px}.tn-l-help-wrapper{display:flex;max-height:calc(100vh - 60px);overflow:auto}"]
|
|
41404
41812
|
},] }
|
|
@@ -42213,7 +42621,7 @@
|
|
|
42213
42621
|
};
|
|
42214
42622
|
TnAppNotificationComponent.prototype.handleClicked = function () {
|
|
42215
42623
|
var domain = this.environment.clientDomain.thongbaoDomain;
|
|
42216
|
-
|
|
42624
|
+
window.open(domain + "/thongbao-chuadoc");
|
|
42217
42625
|
};
|
|
42218
42626
|
return TnAppNotificationComponent;
|
|
42219
42627
|
}(ComponentBase));
|
|
@@ -43499,10 +43907,11 @@
|
|
|
43499
43907
|
|
|
43500
43908
|
var UserPickerComponent = /** @class */ (function (_super) {
|
|
43501
43909
|
__extends(UserPickerComponent, _super);
|
|
43502
|
-
function UserPickerComponent(_injector, _userV5Service, _translateService) {
|
|
43910
|
+
function UserPickerComponent(_injector, _userV5Service, _translateService, _dm_ChucVuService) {
|
|
43503
43911
|
var _this = _super.call(this, _injector) || this;
|
|
43504
43912
|
_this._userV5Service = _userV5Service;
|
|
43505
43913
|
_this._translateService = _translateService;
|
|
43914
|
+
_this._dm_ChucVuService = _dm_ChucVuService;
|
|
43506
43915
|
_this.popupSize = new PopupSize({
|
|
43507
43916
|
width: 1100,
|
|
43508
43917
|
height: 900,
|
|
@@ -43526,6 +43935,8 @@
|
|
|
43526
43935
|
_this.dirty = false;
|
|
43527
43936
|
_this.tooltip = '';
|
|
43528
43937
|
_this.hasValue = false;
|
|
43938
|
+
_this.searchSchema = {};
|
|
43939
|
+
_this.searchData = {};
|
|
43529
43940
|
return _this;
|
|
43530
43941
|
}
|
|
43531
43942
|
UserPickerComponent.prototype.ngOnInit = function () {
|
|
@@ -43557,6 +43968,21 @@
|
|
|
43557
43968
|
code: 'email',
|
|
43558
43969
|
dataType: 'string',
|
|
43559
43970
|
fullTextSearch: true
|
|
43971
|
+
}),
|
|
43972
|
+
new EntityPickerColumn({
|
|
43973
|
+
label: 'Chức vụ',
|
|
43974
|
+
code: 'lstTenChucVu',
|
|
43975
|
+
templateFilter: this.filterChucVuRef,
|
|
43976
|
+
}),
|
|
43977
|
+
new EntityPickerColumn({
|
|
43978
|
+
label: 'Giảng viên',
|
|
43979
|
+
code: 'isGiangVien',
|
|
43980
|
+
dataType: 'boolean'
|
|
43981
|
+
}),
|
|
43982
|
+
new EntityPickerColumn({
|
|
43983
|
+
label: 'Chuyên viên',
|
|
43984
|
+
code: 'isChuyenVien',
|
|
43985
|
+
dataType: 'boolean'
|
|
43560
43986
|
})
|
|
43561
43987
|
], mdWidth: 12 }));
|
|
43562
43988
|
this.fieldSearchText = __spread(this.controlPicker.fieldSearchText);
|
|
@@ -43577,8 +44003,24 @@
|
|
|
43577
44003
|
this.funcReturnValue = function (value) { return value; };
|
|
43578
44004
|
this.buildFilterKeyword();
|
|
43579
44005
|
this.buildSettingEntityPicker();
|
|
44006
|
+
this.createSchemaSearch();
|
|
43580
44007
|
this.onReady.emit();
|
|
43581
44008
|
};
|
|
44009
|
+
UserPickerComponent.prototype.createSchemaSearch = function () {
|
|
44010
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
44011
|
+
return __generator(this, function (_a) {
|
|
44012
|
+
this.searchSchema.idChucVus = new DropdownControlSchema({
|
|
44013
|
+
field: 'idChucVus',
|
|
44014
|
+
multiple: true,
|
|
44015
|
+
placeholder: 'Chọn chức vụ',
|
|
44016
|
+
baseService: this._dm_ChucVuService,
|
|
44017
|
+
sortField: 'soThuTu',
|
|
44018
|
+
loadOnInit: true
|
|
44019
|
+
});
|
|
44020
|
+
return [2 /*return*/];
|
|
44021
|
+
});
|
|
44022
|
+
});
|
|
44023
|
+
};
|
|
43582
44024
|
UserPickerComponent.prototype.buildFilterKeyword = function () {
|
|
43583
44025
|
var _this = this;
|
|
43584
44026
|
if (this.fieldSearchText.length == 1) {
|
|
@@ -43679,7 +44121,8 @@
|
|
|
43679
44121
|
};
|
|
43680
44122
|
UserPickerComponent.prototype.getData = function (keyWord) {
|
|
43681
44123
|
return __awaiter(this, void 0, void 0, function () {
|
|
43682
|
-
var filters, dataSource;
|
|
44124
|
+
var filters, filterOrs_1, dataSource;
|
|
44125
|
+
var _this = this;
|
|
43683
44126
|
return __generator(this, function (_a) {
|
|
43684
44127
|
switch (_a.label) {
|
|
43685
44128
|
case 0:
|
|
@@ -43694,6 +44137,13 @@
|
|
|
43694
44137
|
filters.push(this.newFilter(this.controlPicker.valueField, exports.Operator.notEqual, this.value));
|
|
43695
44138
|
}
|
|
43696
44139
|
}
|
|
44140
|
+
if (this.searchData.idChucVus && this.searchData.idChucVus.length > 0) {
|
|
44141
|
+
filterOrs_1 = [];
|
|
44142
|
+
this.searchData.idChucVus.forEach(function (idChucVu) {
|
|
44143
|
+
filterOrs_1.push(_this.newFilter('IdsChucVu', exports.Operator.contain, idChucVu));
|
|
44144
|
+
});
|
|
44145
|
+
filters.push(this.newFilterContainer.apply(this, __spread(['or'], filterOrs_1)));
|
|
44146
|
+
}
|
|
43697
44147
|
return [4 /*yield*/, appendDefaultFilter(filters, this.control.defaultFilters)];
|
|
43698
44148
|
case 1:
|
|
43699
44149
|
_a.sent();
|
|
@@ -44004,7 +44454,7 @@
|
|
|
44004
44454
|
UserPickerComponent.decorators = [
|
|
44005
44455
|
{ type: i0.Component, args: [{
|
|
44006
44456
|
selector: 'user-picker',
|
|
44007
|
-
template: "<div class=\"p-inputgroup user-picker\" [class.multiple]=\"multiple\" [class.hasValue]=\"hasValue\">\r\n <div style=\"width: calc(100% - 28px)\" [pTooltip]=\"tooltip\" tooltipPosition=\"top\">\r\n <p-autoComplete emptyMessage=\"Kh\u00F4ng c\u00F3 k\u1EBFt qu\u1EA3 n\u00E0o\" [ngClass]=\"'custom-autocomplete'\" [disabled]=\"disabled\"\r\n [placeholder]=\"control.placeholder\" [appendTo]=\"control.appendTo\" [suggestions]=\"results\" field=\"label\"\r\n [styleClass]=\"control.validators && control.required ? 'rq' : ''\" [multiple]=\"control.multiple\"\r\n [minLength]=\"2\" [(ngModel)]=\"selectedValueObject\" (onFocus)=\"handleFocus($event)\"\r\n (onBlur)=\"handleBlur($event)\" (completeMethod)=\"search($event)\" (onKeyUp)=\"handleKeyUp($event)\"\r\n (onSelect)=\"handleSelect($event)\" (onUnselect)=\"handleUnSelect($event)\">\r\n </p-autoComplete>\r\n </div>\r\n <span *ngIf=\"!control.multiple && !disabled && hasValue\" class=\"icon-clear\" (click)=\"clearValue()\"><i\r\n class=\"fas fa-times\"></i></span>\r\n <button class=\"custom-autocomplete-button\" [disabled]=\"disabled\" tabindex=\"-1\" (click)=\"showPickForm()\" pButton\r\n [pTooltip]=\"control.title\" icon=\"fas fa-external-link-alt\" type=\"button\"></button>\r\n</div>\r\n<tn-dialog #dialog *ngIf=\"showFormPicker\" styleClass=\"user-picker-box-dialog no-padding\" [useDefaultScrollBar]=\"true\"\r\n [header]=\"control.title | translate\" [popupSize]=\"popupSize\" (onHide)=\"handleHide($event)\">\r\n <user-picker-box #userPickerBox [controlSetting]=\"control\" [control]=\"controlPicker\" [parentSetting]=\"settingPicker\"\r\n [advanceData]=\"advanceDataPicker\" [selectedValue]=\"selectedValue\" (onChanged)=\"handleChangeEntity($event)\"\r\n (onSelect)=\"handleSelectEntity($event)\" (onUnSelect)=\"handleUnSelectEntity($event)\"\r\n (onDone)=\"handleHide($event)\" (onRowSelect)=\"handleRowSelect($event)\">\r\n </user-picker-box>\r\n <ng-template #footer>\r\n <button type=\" button\" pButton class=\"p-button-text\" (click)=\"onClickSubmitButton($event, userPickerBox)\"\r\n [label]=\"'Ho\u00E0n th\u00E0nh'\" icon=\"pi pi-check\"></button>\r\n </ng-template>\r\n</tn-dialog>",
|
|
44457
|
+
template: "<div class=\"p-inputgroup user-picker\" [class.multiple]=\"multiple\" [class.hasValue]=\"hasValue\">\r\n <div style=\"width: calc(100% - 28px)\" [pTooltip]=\"tooltip\" tooltipPosition=\"top\">\r\n <p-autoComplete emptyMessage=\"Kh\u00F4ng c\u00F3 k\u1EBFt qu\u1EA3 n\u00E0o\" [ngClass]=\"'custom-autocomplete'\" [disabled]=\"disabled\"\r\n [placeholder]=\"control.placeholder\" [appendTo]=\"control.appendTo\" [suggestions]=\"results\" field=\"label\"\r\n [styleClass]=\"control.validators && control.required ? 'rq' : ''\" [multiple]=\"control.multiple\"\r\n [minLength]=\"2\" [(ngModel)]=\"selectedValueObject\" (onFocus)=\"handleFocus($event)\"\r\n (onBlur)=\"handleBlur($event)\" (completeMethod)=\"search($event)\" (onKeyUp)=\"handleKeyUp($event)\"\r\n (onSelect)=\"handleSelect($event)\" (onUnselect)=\"handleUnSelect($event)\">\r\n </p-autoComplete>\r\n </div>\r\n <span *ngIf=\"!control.multiple && !disabled && hasValue\" class=\"icon-clear\" (click)=\"clearValue()\"><i\r\n class=\"fas fa-times\"></i></span>\r\n <button class=\"custom-autocomplete-button\" [disabled]=\"disabled\" tabindex=\"-1\" (click)=\"showPickForm()\" pButton\r\n [pTooltip]=\"control.title\" icon=\"fas fa-external-link-alt\" type=\"button\"></button>\r\n</div>\r\n<tn-dialog #dialog *ngIf=\"showFormPicker\" styleClass=\"user-picker-box-dialog no-padding\" [useDefaultScrollBar]=\"true\"\r\n [header]=\"control.title | translate\" [popupSize]=\"popupSize\" (onHide)=\"handleHide($event)\">\r\n <user-picker-box #userPickerBox [controlSetting]=\"control\" [control]=\"controlPicker\" [parentSetting]=\"settingPicker\"\r\n [advanceData]=\"advanceDataPicker\" [selectedValue]=\"selectedValue\" (onChanged)=\"handleChangeEntity($event)\"\r\n (onSelect)=\"handleSelectEntity($event)\" (onUnSelect)=\"handleUnSelectEntity($event)\"\r\n (onDone)=\"handleHide($event)\" (onRowSelect)=\"handleRowSelect($event)\">\r\n </user-picker-box>\r\n <ng-template #footer>\r\n <button type=\" button\" pButton class=\"p-button-text\" (click)=\"onClickSubmitButton($event, userPickerBox)\"\r\n [label]=\"'Ho\u00E0n th\u00E0nh'\" icon=\"pi pi-check\"></button>\r\n </ng-template>\r\n</tn-dialog>\r\n\r\n<ng-template #filterChucVuRef let-col=\"col\" let-filterData=\"filterData\" let-onSearch=\"onSearch\"\r\n let-onShowFilterDropdownPanel=\"onShowFilterDropdownPanel\" let-onHideFilterDropdownPanel=\"onHideFilterDropdownPanel\">\r\n <dropdown [control]=\"searchSchema.idChucVus\" [(value)]=\"searchData.idChucVus\" (onHideSmartEvent)=\"onSearch()\"\r\n (onShow)=\"onShowFilterDropdownPanel($event)\" (onHideSmartEvent)=\"onHideFilterDropdownPanel($event)\">\r\n </dropdown>\r\n</ng-template>",
|
|
44008
44458
|
providers: [
|
|
44009
44459
|
{
|
|
44010
44460
|
provide: forms.NG_VALUE_ACCESSOR,
|
|
@@ -44019,9 +44469,11 @@
|
|
|
44019
44469
|
UserPickerComponent.ctorParameters = function () { return [
|
|
44020
44470
|
{ type: i0.Injector },
|
|
44021
44471
|
{ type: UserV5Service },
|
|
44022
|
-
{ type: i2.TranslateService }
|
|
44472
|
+
{ type: i2.TranslateService },
|
|
44473
|
+
{ type: DmChucVuService }
|
|
44023
44474
|
]; };
|
|
44024
44475
|
UserPickerComponent.propDecorators = {
|
|
44476
|
+
filterChucVuRef: [{ type: i0.ViewChild, args: ['filterChucVuRef', { static: true },] }],
|
|
44025
44477
|
control: [{ type: i0.Input }],
|
|
44026
44478
|
popupSize: [{ type: i0.Input }],
|
|
44027
44479
|
multiple: [{ type: i0.Input }],
|
|
@@ -45042,10 +45494,6 @@
|
|
|
45042
45494
|
}());
|
|
45043
45495
|
var WorkflowTargetDefaultValue = /** @class */ (function () {
|
|
45044
45496
|
function WorkflowTargetDefaultValue() {
|
|
45045
|
-
this.dicDefaultValue = {};
|
|
45046
|
-
this.dicDefaultValueByWorkflow = {};
|
|
45047
|
-
this.dicByTargetCanEdit = {};
|
|
45048
|
-
this.dicByTargetOnlyView = {};
|
|
45049
45497
|
}
|
|
45050
45498
|
return WorkflowTargetDefaultValue;
|
|
45051
45499
|
}());
|
|
@@ -45107,22 +45555,21 @@
|
|
|
45107
45555
|
return __awaiter(this, void 0, void 0, function () {
|
|
45108
45556
|
var nextMachine;
|
|
45109
45557
|
var _this = this;
|
|
45110
|
-
return __generator(this, function (
|
|
45111
|
-
switch (
|
|
45558
|
+
return __generator(this, function (_g) {
|
|
45559
|
+
switch (_g.label) {
|
|
45112
45560
|
case 0:
|
|
45113
45561
|
nextMachine = this.workflow.data.machines.find(function (q) { return q.id == _this.action.target; });
|
|
45114
45562
|
this.isActionKetThuc = nextMachine.type == exports.EnumStateType.STOP;
|
|
45115
45563
|
if (this.isActionKetThuc) {
|
|
45116
45564
|
this.mainTabData[1].active = true;
|
|
45117
45565
|
}
|
|
45118
|
-
if (!this.checkNeedGetUser()) return [3 /*break*/, 2];
|
|
45119
45566
|
return [4 /*yield*/, this.getUserForProcessWorkflow()];
|
|
45120
45567
|
case 1:
|
|
45121
|
-
if (
|
|
45568
|
+
// if (this.checkNeedGetUser()) {
|
|
45569
|
+
if (!(_g.sent())) {
|
|
45122
45570
|
return [2 /*return*/];
|
|
45123
45571
|
}
|
|
45124
|
-
|
|
45125
|
-
case 2:
|
|
45572
|
+
// }
|
|
45126
45573
|
this.setDataAndTriggerReady();
|
|
45127
45574
|
return [2 /*return*/];
|
|
45128
45575
|
}
|
|
@@ -45130,7 +45577,7 @@
|
|
|
45130
45577
|
});
|
|
45131
45578
|
};
|
|
45132
45579
|
ProcessWorkflowFormComponent.prototype.checkNeedGetUser = function () {
|
|
45133
|
-
var e_1,
|
|
45580
|
+
var e_1, _g;
|
|
45134
45581
|
this.ruleUsers = [];
|
|
45135
45582
|
if (!this.action.data.infoReceiver || !this.action.data.infoReceiver.length)
|
|
45136
45583
|
return false;
|
|
@@ -45138,8 +45585,8 @@
|
|
|
45138
45585
|
this.action.data.infoReceiver[0].lanThu = 1;
|
|
45139
45586
|
}
|
|
45140
45587
|
try {
|
|
45141
|
-
for (var
|
|
45142
|
-
var infoReceiver =
|
|
45588
|
+
for (var _h = __values(this.action.data.infoReceiver), _j = _h.next(); !_j.done; _j = _h.next()) {
|
|
45589
|
+
var infoReceiver = _j.value;
|
|
45143
45590
|
if (this.checkNeedGetUserByUserData(infoReceiver.user)) {
|
|
45144
45591
|
return true;
|
|
45145
45592
|
}
|
|
@@ -45151,7 +45598,7 @@
|
|
|
45151
45598
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
45152
45599
|
finally {
|
|
45153
45600
|
try {
|
|
45154
|
-
if (
|
|
45601
|
+
if (_j && !_j.done && (_g = _h.return)) _g.call(_h);
|
|
45155
45602
|
}
|
|
45156
45603
|
finally { if (e_1) throw e_1.error; }
|
|
45157
45604
|
}
|
|
@@ -45161,35 +45608,26 @@
|
|
|
45161
45608
|
return __awaiter(this, void 0, void 0, function () {
|
|
45162
45609
|
var sourceMachine, resultGetUserInProcessForm, dataUserInProcessForm;
|
|
45163
45610
|
var _this = this;
|
|
45164
|
-
return __generator(this, function (
|
|
45165
|
-
switch (
|
|
45611
|
+
return __generator(this, function (_g) {
|
|
45612
|
+
switch (_g.label) {
|
|
45166
45613
|
case 0:
|
|
45167
45614
|
sourceMachine = this.workflow.data.machines.find(function (q) { return q.id == _this.action.source; });
|
|
45168
|
-
return [4 /*yield*/, this.
|
|
45615
|
+
return [4 /*yield*/, this.businessSetting.baseService.getUserInProcessForm(this.workflow.code, sourceMachine.code, this.action.code, this.item.id)];
|
|
45169
45616
|
case 1:
|
|
45170
|
-
resultGetUserInProcessForm =
|
|
45617
|
+
resultGetUserInProcessForm = _g.sent();
|
|
45171
45618
|
if (!resultGetUserInProcessForm.success) {
|
|
45172
45619
|
this.handleResponse(resultGetUserInProcessForm);
|
|
45173
45620
|
return [2 /*return*/, false];
|
|
45174
45621
|
}
|
|
45175
45622
|
dataUserInProcessForm = resultGetUserInProcessForm.data;
|
|
45176
|
-
|
|
45177
|
-
|
|
45178
|
-
|
|
45179
|
-
|
|
45180
|
-
|
|
45181
|
-
|
|
45182
|
-
|
|
45183
|
-
|
|
45184
|
-
});
|
|
45185
|
-
}
|
|
45186
|
-
if (dataUserInProcessForm.dicByTargetCanEdit) {
|
|
45187
|
-
this.initValueForTargetForm.dicByTargetCanEdit = dataUserInProcessForm.dicByTargetCanEdit;
|
|
45188
|
-
}
|
|
45189
|
-
if (dataUserInProcessForm.dicByTargetOnlyView) {
|
|
45190
|
-
this.initValueForTargetForm.dicByTargetOnlyView = dataUserInProcessForm.dicByTargetOnlyView;
|
|
45191
|
-
}
|
|
45192
|
-
this.infoReceiver = dataUserInProcessForm.infoReceiver;
|
|
45623
|
+
this.initValueForTargetForm.lstUserId = dataUserInProcessForm.lstUserId;
|
|
45624
|
+
this.initValueForTargetForm.lstUserViewId = dataUserInProcessForm.lstUserViewId;
|
|
45625
|
+
this.initValueForTargetForm.lstDonViId = dataUserInProcessForm.lstDonViId;
|
|
45626
|
+
this.initValueForTargetForm.lstDonViViewId = dataUserInProcessForm.lstDonViViewId;
|
|
45627
|
+
this.initValueForTargetForm.lstGroupId = dataUserInProcessForm.lstGroupId;
|
|
45628
|
+
this.initValueForTargetForm.lstGroupViewId = dataUserInProcessForm.lstGroupViewId;
|
|
45629
|
+
this.initValueForTargetForm.lstRoleId = dataUserInProcessForm.lstRoleId;
|
|
45630
|
+
this.initValueForTargetForm.lstRoleViewId = dataUserInProcessForm.lstRoleViewId;
|
|
45193
45631
|
return [2 /*return*/, true];
|
|
45194
45632
|
}
|
|
45195
45633
|
});
|
|
@@ -45204,39 +45642,45 @@
|
|
|
45204
45642
|
return false;
|
|
45205
45643
|
};
|
|
45206
45644
|
ProcessWorkflowFormComponent.prototype.setDataAndTriggerReady = function () {
|
|
45645
|
+
var _a, _b, _c, _d, _e, _f;
|
|
45207
45646
|
this.dataAllowEdit = {
|
|
45208
45647
|
rules: [],
|
|
45209
45648
|
userIds: [],
|
|
45210
45649
|
ruleInWorkflows: [],
|
|
45211
|
-
departmentIds: this.action.data.departmentIds,
|
|
45212
|
-
groupIds: this.action.data.groupIds,
|
|
45213
|
-
roleIds: this.action.data.roleIds
|
|
45650
|
+
departmentIds: (_a = this.action.data.departmentIds) !== null && _a !== void 0 ? _a : [],
|
|
45651
|
+
groupIds: (_b = this.action.data.groupIds) !== null && _b !== void 0 ? _b : [],
|
|
45652
|
+
roleIds: (_c = this.action.data.roleIds) !== null && _c !== void 0 ? _c : []
|
|
45214
45653
|
};
|
|
45215
45654
|
this.dataOnlyView = {
|
|
45216
45655
|
rules: [],
|
|
45217
45656
|
userIds: [],
|
|
45218
45657
|
ruleInWorkflows: [],
|
|
45219
|
-
departmentIds: this.action.data.departmentViewIds,
|
|
45220
|
-
groupIds: this.action.data.groupViewIds,
|
|
45221
|
-
roleIds: this.action.data.roleViewIds
|
|
45658
|
+
departmentIds: (_d = this.action.data.departmentViewIds) !== null && _d !== void 0 ? _d : [],
|
|
45659
|
+
groupIds: (_e = this.action.data.groupViewIds) !== null && _e !== void 0 ? _e : [],
|
|
45660
|
+
roleIds: (_f = this.action.data.roleViewIds) !== null && _f !== void 0 ? _f : []
|
|
45222
45661
|
};
|
|
45223
|
-
|
|
45224
|
-
|
|
45225
|
-
|
|
45226
|
-
|
|
45227
|
-
|
|
45228
|
-
|
|
45229
|
-
|
|
45230
|
-
|
|
45231
|
-
this.dataOnlyView.rules = this.infoReceiver.userView.rules;
|
|
45232
|
-
this.dataOnlyView.ruleInWorkflows = this.infoReceiver.userView.ruleInWorkflows;
|
|
45233
|
-
}
|
|
45234
|
-
}
|
|
45662
|
+
this.addDistinct(this.dataAllowEdit.userIds, this.initValueForTargetForm.lstUserId);
|
|
45663
|
+
this.addDistinct(this.dataAllowEdit.departmentIds, this.initValueForTargetForm.lstDonViId);
|
|
45664
|
+
this.addDistinct(this.dataAllowEdit.groupIds, this.initValueForTargetForm.lstGroupId);
|
|
45665
|
+
this.addDistinct(this.dataAllowEdit.roleIds, this.initValueForTargetForm.lstRoleId);
|
|
45666
|
+
this.addDistinct(this.dataOnlyView.userIds, this.initValueForTargetForm.lstUserViewId);
|
|
45667
|
+
this.addDistinct(this.dataOnlyView.departmentIds, this.initValueForTargetForm.lstDonViViewId);
|
|
45668
|
+
this.addDistinct(this.dataOnlyView.groupIds, this.initValueForTargetForm.lstGroupViewId);
|
|
45669
|
+
this.addDistinct(this.dataOnlyView.roleIds, this.initValueForTargetForm.lstRoleViewId);
|
|
45235
45670
|
this.formReady = true;
|
|
45236
45671
|
};
|
|
45672
|
+
ProcessWorkflowFormComponent.prototype.addDistinct = function (dest, source) {
|
|
45673
|
+
if (!source || !source.length)
|
|
45674
|
+
return;
|
|
45675
|
+
source.forEach(function (item) {
|
|
45676
|
+
if (dest.indexOf(item) == -1) {
|
|
45677
|
+
dest.push(item);
|
|
45678
|
+
}
|
|
45679
|
+
});
|
|
45680
|
+
};
|
|
45237
45681
|
ProcessWorkflowFormComponent.prototype.onFormInitialized = function (evt) {
|
|
45238
45682
|
return __awaiter(this, void 0, void 0, function () {
|
|
45239
|
-
return __generator(this, function (
|
|
45683
|
+
return __generator(this, function (_g) {
|
|
45240
45684
|
evt.model.id = this._commonService.guid();
|
|
45241
45685
|
return [2 /*return*/];
|
|
45242
45686
|
});
|
|
@@ -45244,7 +45688,7 @@
|
|
|
45244
45688
|
};
|
|
45245
45689
|
ProcessWorkflowFormComponent.prototype.validateForm = function () {
|
|
45246
45690
|
return __awaiter(this, void 0, void 0, function () {
|
|
45247
|
-
return __generator(this, function (
|
|
45691
|
+
return __generator(this, function (_g) {
|
|
45248
45692
|
this.model.data.userIds = this.formTargetAllowEdit.model.data.userIds;
|
|
45249
45693
|
this.model.data.departmentIds = this.formTargetAllowEdit.model.data.departmentIds;
|
|
45250
45694
|
this.model.data.groupIds = this.formTargetAllowEdit.model.data.groupIds;
|
|
@@ -45258,7 +45702,7 @@
|
|
|
45258
45702
|
&& this.isEmptyArray(this.model.data.departmentIds)
|
|
45259
45703
|
&& this.isEmptyArray(this.model.data.groupIds)
|
|
45260
45704
|
&& this.isEmptyArray(this.model.data.roleIds)) {
|
|
45261
|
-
this._notifierService.showWarning('Phải chọn ít nhất 1 nhóm đối tượng nhận (Cán bộ | Đơn vị | Nhóm người dùng |
|
|
45705
|
+
this._notifierService.showWarning('Phải chọn ít nhất 1 nhóm đối tượng nhận (Cán bộ | Đơn vị | Nhóm người dùng | Chức vụ)');
|
|
45262
45706
|
return [2 /*return*/, false];
|
|
45263
45707
|
}
|
|
45264
45708
|
}
|
|
@@ -45338,13 +45782,13 @@
|
|
|
45338
45782
|
|
|
45339
45783
|
var ProcessWorkflowTargetComponent = /** @class */ (function (_super) {
|
|
45340
45784
|
__extends(ProcessWorkflowTargetComponent, _super);
|
|
45341
|
-
function ProcessWorkflowTargetComponent(_injector, _stateMachinesService, _coCauToChucService, _userGroupService,
|
|
45785
|
+
function ProcessWorkflowTargetComponent(_injector, _stateMachinesService, _coCauToChucService, _userGroupService, _dmChucVuService) {
|
|
45342
45786
|
var _this = _super.call(this, _injector) || this;
|
|
45343
45787
|
_this._injector = _injector;
|
|
45344
45788
|
_this._stateMachinesService = _stateMachinesService;
|
|
45345
45789
|
_this._coCauToChucService = _coCauToChucService;
|
|
45346
45790
|
_this._userGroupService = _userGroupService;
|
|
45347
|
-
_this.
|
|
45791
|
+
_this._dmChucVuService = _dmChucVuService;
|
|
45348
45792
|
return _this;
|
|
45349
45793
|
}
|
|
45350
45794
|
ProcessWorkflowTargetComponent.prototype.ngOnInit = function () {
|
|
@@ -45370,41 +45814,8 @@
|
|
|
45370
45814
|
// this.createUserPickerControl('idCapTrenGanNhats', 'Cán bộ cấp trên gần nhất'),
|
|
45371
45815
|
this._createCoCauToChucControl('departmentIds', 'Đơn vị'),
|
|
45372
45816
|
this._createUserGroupPickerControl('groupIds', 'Nhóm người dùng'),
|
|
45373
|
-
this._createRolePickerControl('roleIds', '
|
|
45817
|
+
this._createRolePickerControl('roleIds', 'Chức vụ')
|
|
45374
45818
|
];
|
|
45375
|
-
// Ghép thêm các user theo rule vào userIds
|
|
45376
|
-
this.addUserIdFromDicByRule(this.initValue.dicDefaultValue, this.data.rules);
|
|
45377
|
-
// Ghép thêm các user theo rule in workflow vào userIds
|
|
45378
|
-
this.addUserIdFromDicByRule(this.initValue.dicDefaultValueByWorkflow, this.data.ruleInWorkflows);
|
|
45379
|
-
// Ghép thêm các value từ dicByTargetType vào các control
|
|
45380
|
-
if (this.data.rules.some(function (q) { return q == exports.EnumUserRule.NGUOI_NHAN; })) {
|
|
45381
|
-
this.addValueFromDicByTarget(this.initValue.dicByTargetCanEdit);
|
|
45382
|
-
}
|
|
45383
|
-
// Ghép thêm các value từ dicByTargetType vào các control
|
|
45384
|
-
if (this.data.rules.some(function (q) { return q == exports.EnumUserRule.NGUOI_THEO_DOI; })) {
|
|
45385
|
-
this.addValueFromDicByTarget(this.initValue.dicByTargetOnlyView);
|
|
45386
|
-
}
|
|
45387
|
-
};
|
|
45388
|
-
ProcessWorkflowTargetComponent.prototype.addUserIdFromDicByRule = function (dicSource, rules) {
|
|
45389
|
-
var _this = this;
|
|
45390
|
-
Object.keys(dicSource)
|
|
45391
|
-
.filter(function (x) { return rules.some(function (q) { return q == x; }); })
|
|
45392
|
-
.forEach(function (rule) {
|
|
45393
|
-
_this.addDistinctToList(_this.data.userIds, dicSource[rule]);
|
|
45394
|
-
});
|
|
45395
|
-
};
|
|
45396
|
-
ProcessWorkflowTargetComponent.prototype.addValueFromDicByTarget = function (dicByTargetType) {
|
|
45397
|
-
this.addDistinctToList(this.data.userIds, dicByTargetType[exports.EnumTargetType.USER]);
|
|
45398
|
-
this.addDistinctToList(this.data.departmentIds, dicByTargetType[exports.EnumTargetType.DEPARTMENT]);
|
|
45399
|
-
this.addDistinctToList(this.data.groupIds, dicByTargetType[exports.EnumTargetType.GROUP]);
|
|
45400
|
-
this.addDistinctToList(this.data.roleIds, dicByTargetType[exports.EnumTargetType.ROLE]);
|
|
45401
|
-
};
|
|
45402
|
-
ProcessWorkflowTargetComponent.prototype.addDistinctToList = function (lstDest, lstSource) {
|
|
45403
|
-
lstSource.forEach(function (item) {
|
|
45404
|
-
if (!lstDest.some(function (q) { return q == item; })) {
|
|
45405
|
-
lstDest.push(item);
|
|
45406
|
-
}
|
|
45407
|
-
});
|
|
45408
45819
|
};
|
|
45409
45820
|
ProcessWorkflowTargetComponent.prototype._createUserPickerControl = function (field, label, multiple) {
|
|
45410
45821
|
if (multiple === void 0) { multiple = true; }
|
|
@@ -45420,7 +45831,7 @@
|
|
|
45420
45831
|
return createUserGroupPickerControl(this._userGroupService, field, label);
|
|
45421
45832
|
};
|
|
45422
45833
|
ProcessWorkflowTargetComponent.prototype._createRolePickerControl = function (field, label) {
|
|
45423
|
-
return createRolePickerControl(this.
|
|
45834
|
+
return createRolePickerControl(this._dmChucVuService, field, label);
|
|
45424
45835
|
};
|
|
45425
45836
|
ProcessWorkflowTargetComponent.prototype.onFormInitialized = function (evt) {
|
|
45426
45837
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -45447,7 +45858,7 @@
|
|
|
45447
45858
|
{ type: StateMachinesService },
|
|
45448
45859
|
{ type: CoCauToChucService },
|
|
45449
45860
|
{ type: UserGroupRealService },
|
|
45450
|
-
{ type:
|
|
45861
|
+
{ type: DmChucVuService }
|
|
45451
45862
|
]; };
|
|
45452
45863
|
ProcessWorkflowTargetComponent.propDecorators = {
|
|
45453
45864
|
data: [{ type: i0.Input }],
|
|
@@ -45811,29 +46222,30 @@
|
|
|
45811
46222
|
_this._fileControls.forEach(function (control) {
|
|
45812
46223
|
key = control.serviceCode + "/" + control.entity + "/" + control._entityKey;
|
|
45813
46224
|
if (dataFile[key]) {
|
|
45814
|
-
control.
|
|
46225
|
+
control.setRootFolderId(dataFile[key].folderId);
|
|
46226
|
+
control.setDatasource(dataFile[key].lstFile);
|
|
45815
46227
|
}
|
|
45816
46228
|
});
|
|
45817
46229
|
}); });
|
|
45818
46230
|
};
|
|
45819
46231
|
FileDataService.prototype.processDatasourceFile = function (fileData) {
|
|
46232
|
+
var _this = this;
|
|
45820
46233
|
if (fileData === void 0) { fileData = []; }
|
|
45821
|
-
var
|
|
45822
|
-
|
|
45823
|
-
|
|
45824
|
-
key = file.serviceCode + "/" + file.entity + "/" + file.entityKey;
|
|
45825
|
-
// Nếu hết file của 1 control
|
|
45826
|
-
if (!dic[key]) {
|
|
45827
|
-
dic[key] = [];
|
|
45828
|
-
}
|
|
45829
|
-
dic[key].push(file);
|
|
45830
|
-
});
|
|
45831
|
-
Object.keys(dic).forEach(function (key) {
|
|
45832
|
-
dic[key].sort(multipleSort({ name: 'fileExplorerItemType', reverse: true }, // Sắp xếp folder lên trên file
|
|
46234
|
+
var result = {};
|
|
46235
|
+
Object.keys(fileData).forEach(function (key) {
|
|
46236
|
+
fileData[key].lstFile.sort(multipleSort({ name: 'fileExplorerItemType', reverse: true }, // Sắp xếp folder lên trên file
|
|
45833
46237
|
{ name: 'name', primer: function (a) { return a.toLowerCase(); } } // Order theo tên (nhưng phải toLower vì T < b < t)
|
|
45834
46238
|
));
|
|
46239
|
+
var data = fileData[key];
|
|
46240
|
+
result[_this.generateKey(data.serviceCode, data.entity, data.entityKey)] = {
|
|
46241
|
+
folderId: key,
|
|
46242
|
+
lstFile: fileData[key].lstFile
|
|
46243
|
+
};
|
|
45835
46244
|
});
|
|
45836
|
-
return
|
|
46245
|
+
return result;
|
|
46246
|
+
};
|
|
46247
|
+
FileDataService.prototype.generateKey = function (serviceCode, entity, entityKey) {
|
|
46248
|
+
return serviceCode + "/" + entity + "/" + entityKey;
|
|
45837
46249
|
};
|
|
45838
46250
|
return FileDataService;
|
|
45839
46251
|
}());
|
|
@@ -45849,13 +46261,13 @@
|
|
|
45849
46261
|
|
|
45850
46262
|
var WorkflowHistoryNewComponent = /** @class */ (function (_super) {
|
|
45851
46263
|
__extends(WorkflowHistoryNewComponent, _super);
|
|
45852
|
-
function WorkflowHistoryNewComponent(_injector, _workflowHistoryService, _coCauToChucService, _userGroupService,
|
|
46264
|
+
function WorkflowHistoryNewComponent(_injector, _workflowHistoryService, _coCauToChucService, _userGroupService, _dmChucVuService, _fileDataService) {
|
|
45853
46265
|
var _this = _super.call(this, _injector) || this;
|
|
45854
46266
|
_this._injector = _injector;
|
|
45855
46267
|
_this._workflowHistoryService = _workflowHistoryService;
|
|
45856
46268
|
_this._coCauToChucService = _coCauToChucService;
|
|
45857
46269
|
_this._userGroupService = _userGroupService;
|
|
45858
|
-
_this.
|
|
46270
|
+
_this._dmChucVuService = _dmChucVuService;
|
|
45859
46271
|
// Là form lịch sử của task nhưng mở từ giao diện của đối tượng mà task gắn vào
|
|
45860
46272
|
// Ở form này thì chỉ xem lịch sử chứ k dc làm gì hết
|
|
45861
46273
|
_this.isRelativeForm = false;
|
|
@@ -45918,8 +46330,8 @@
|
|
|
45918
46330
|
new ModelSchema({ field: 'donViViewIds', name: 'Đơn vị theo dõi', fullName: 'Đơn vị theo dõi', description: '' }),
|
|
45919
46331
|
new ModelSchema({ field: 'groupIds', name: 'Nhóm người dùng nhận', fullName: 'Nhóm người dùng nhận', description: '' }),
|
|
45920
46332
|
new ModelSchema({ field: 'groupViewIds', name: 'Nhóm người dùng theo dõi', fullName: 'Nhóm người dùng theo dõi', description: '' }),
|
|
45921
|
-
new ModelSchema({ field: 'roleIds', name: '
|
|
45922
|
-
new ModelSchema({ field: 'roleViewIds', name: '
|
|
46333
|
+
new ModelSchema({ field: 'roleIds', name: 'Chức vụ nhận', fullName: 'Chức vụ nhận', description: '' }),
|
|
46334
|
+
new ModelSchema({ field: 'roleViewIds', name: 'Chức vụ theo dõi', fullName: 'Chức vụ theo dõi', description: '' }),
|
|
45923
46335
|
new ModelSchema({ field: 'note', name: 'Ý kiến', fullName: 'Ý kiến', description: '' })
|
|
45924
46336
|
];
|
|
45925
46337
|
this.setting.cols = [
|
|
@@ -45991,8 +46403,7 @@
|
|
|
45991
46403
|
new ColumnSchemaBase({
|
|
45992
46404
|
field: 'roleIds',
|
|
45993
46405
|
width: '15%',
|
|
45994
|
-
baseService: this.
|
|
45995
|
-
displayField: 'name',
|
|
46406
|
+
baseService: this._dmChucVuService,
|
|
45996
46407
|
multiple: true,
|
|
45997
46408
|
visible: false,
|
|
45998
46409
|
forceGetData: true
|
|
@@ -46000,8 +46411,7 @@
|
|
|
46000
46411
|
new ColumnSchemaBase({
|
|
46001
46412
|
field: 'roleViewIds',
|
|
46002
46413
|
width: '15%',
|
|
46003
|
-
baseService: this.
|
|
46004
|
-
displayField: 'name',
|
|
46414
|
+
baseService: this._dmChucVuService,
|
|
46005
46415
|
multiple: true,
|
|
46006
46416
|
visible: false,
|
|
46007
46417
|
forceGetData: true
|
|
@@ -46218,7 +46628,7 @@
|
|
|
46218
46628
|
WorkflowHistoryNewComponent.decorators = [
|
|
46219
46629
|
{ type: i0.Component, args: [{
|
|
46220
46630
|
selector: 'workflow-history-new',
|
|
46221
|
-
template: "<div style=\"height: 100%\">\r\n <as-split direction=\"vertical\">\r\n <as-split-area [size]=\"40\">\r\n <div class=\"state-designer-container\">\r\n <div>\r\n S\u01A1 \u0111\u1ED3 quy tr\u00ECnh\r\n </div>\r\n <div>\r\n <tn-custom-scrollbar>\r\n <statemachines-designer [data]=\"machinesData\" [currentConnection]=\"currentConnection\"\r\n [viewOnly]=\"true\" [useScrollBar]=\"false\">\r\n </statemachines-designer>\r\n <after-view-checked (loaded)=\"setMachinesAndConnection()\"></after-view-checked>\r\n </tn-custom-scrollbar>\r\n </div>\r\n </div>\r\n </as-split-area>\r\n <as-split-area [size]=\"60\">\r\n <div style=\"height: 100%\">\r\n <crud-list *ngIf=\"model.ready\" #crudList [model]=\"model\" [setting]=\"setting\"\r\n [dataSource]=\"model.dataSource\" (onReload)=\"_triggerProcessData($event)\" (onAdd)=\"_add($event)\"\r\n (onEdit)=\"_edit($event)\" (onView)=\"_view($event)\" (onDelete)=\"_delete($event)\"\r\n (onDeleteMultiple)=\"_deleteMultiple($event)\" (onReloaded)=\"_handleReloaded($event)\"\r\n (onRowSelect)=\"handleRowSelect($event)\">\r\n <ng-template #note let-rowData=\"rowData\">\r\n <div *ngIf=\"rowData.note==null?'':rowData.note\" [innerHTML]=\"rowData.note | safeHtml\"></div>\r\n </ng-template>\r\n <ng-template #receiver let-rowData=\"rowData\">\r\n <div *ngIf=\"!rowData.notInMainThread\" class=\"container-receiver\">\r\n <div *ngIf=\"rowData.struserIds\"><b>C\u00E1n b\u1ED9: </b>{{rowData.struserIds}}</div>\r\n <div *ngIf=\"rowData.strdonViIds\"><b>\u0110\u01A1n v\u1ECB: </b>{{rowData.strdonViIds}}</div>\r\n <div *ngIf=\"rowData.strgroupIds\"><b>Nh\u00F3m: </b>{{rowData.strgroupIds}}</div>\r\n <div *ngIf=\"rowData.strroleIds\"><b>
|
|
46631
|
+
template: "<div style=\"height: 100%\">\r\n <as-split direction=\"vertical\">\r\n <as-split-area [size]=\"40\">\r\n <div class=\"state-designer-container\">\r\n <div>\r\n S\u01A1 \u0111\u1ED3 quy tr\u00ECnh\r\n </div>\r\n <div>\r\n <tn-custom-scrollbar>\r\n <statemachines-designer [data]=\"machinesData\" [currentConnection]=\"currentConnection\"\r\n [viewOnly]=\"true\" [useScrollBar]=\"false\">\r\n </statemachines-designer>\r\n <after-view-checked (loaded)=\"setMachinesAndConnection()\"></after-view-checked>\r\n </tn-custom-scrollbar>\r\n </div>\r\n </div>\r\n </as-split-area>\r\n <as-split-area [size]=\"60\">\r\n <div style=\"height: 100%\">\r\n <crud-list *ngIf=\"model.ready\" #crudList [model]=\"model\" [setting]=\"setting\"\r\n [dataSource]=\"model.dataSource\" (onReload)=\"_triggerProcessData($event)\" (onAdd)=\"_add($event)\"\r\n (onEdit)=\"_edit($event)\" (onView)=\"_view($event)\" (onDelete)=\"_delete($event)\"\r\n (onDeleteMultiple)=\"_deleteMultiple($event)\" (onReloaded)=\"_handleReloaded($event)\"\r\n (onRowSelect)=\"handleRowSelect($event)\">\r\n <ng-template #note let-rowData=\"rowData\">\r\n <div *ngIf=\"rowData.note==null?'':rowData.note\" [innerHTML]=\"rowData.note | safeHtml\"></div>\r\n </ng-template>\r\n <ng-template #receiver let-rowData=\"rowData\">\r\n <div *ngIf=\"!rowData.notInMainThread\" class=\"container-receiver\">\r\n <div *ngIf=\"rowData.struserIds\"><b>C\u00E1n b\u1ED9: </b>{{rowData.struserIds}}</div>\r\n <div *ngIf=\"rowData.strdonViIds\"><b>\u0110\u01A1n v\u1ECB: </b>{{rowData.strdonViIds}}</div>\r\n <div *ngIf=\"rowData.strgroupIds\"><b>Nh\u00F3m: </b>{{rowData.strgroupIds}}</div>\r\n <div *ngIf=\"rowData.strroleIds\"><b>Ch\u1EE9c v\u1EE5: </b>{{rowData.strroleIds}}</div>\r\n </div>\r\n <div *ngIf=\"rowData.notInMainThread\">\r\n <div *ngFor=\"let changedField of rowData.jsonModelChange\">\r\n {{changedField.field}},\r\n {{changedField.valueOld}} => {{changedField.valueNew}}\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #receiverView let-rowData=\"rowData\">\r\n <div class=\"container-receiver\">\r\n <div *ngIf=\"rowData.struserViewIds\"><b>C\u00E1n b\u1ED9: </b>{{rowData.struserViewIds}}</div>\r\n <div *ngIf=\"rowData.strdonViViewIds\"><b>\u0110\u01A1n v\u1ECB: </b>{{rowData.strdonViViewIds}}</div>\r\n <div *ngIf=\"rowData.strgroupViewIds\"><b>Nh\u00F3m: </b>{{rowData.strgroupViewIds}}</div>\r\n <div *ngIf=\"rowData.strroleViewIds\"><b>Ch\u1EE9c v\u1EE5: </b>{{rowData.strroleViewIds}}</div>\r\n </div>\r\n </ng-template>\r\n <ng-template #fileDinhKem let-rowData=\"rowData\">\r\n <file-manager [serviceCode]=\"_workflowHistoryService.serviceCode\"\r\n [entity]=\"_workflowHistoryService.entityName\" [entityKey]=\"rowData.id\"\r\n [fileDataService]=\"fileDataService\" [layout]=\"layoutFile.SIMPLE\" [readonly]=\"true\">\r\n </file-manager>\r\n </ng-template>\r\n <ng-template #function let-rowData=\"rowData\">\r\n <button *ngIf=\"rowData.status == enumWorkflowHistoryStatus.IN_MAIN_THREAD\" pButton\r\n icon=\"pi pi-replay\" class=\"p-button-text p-button-rounded link-or-action\"\r\n pTooltip=\"Thu h\u1ED3i v\u1EC1 b\u01B0\u1EDBc n\u00E0y\" tooltipPosition=\"top\"\r\n (click)=\"rollbackByHistory(rowData)\"></button>\r\n </ng-template>\r\n </crud-list>\r\n </div>\r\n </as-split-area>\r\n </as-split>\r\n</div>",
|
|
46222
46632
|
providers: [ComponentContextService],
|
|
46223
46633
|
styles: [".state-designer-container{display:flex;flex-direction:column;height:100%}.state-designer-container>div:first-child{font-size:.9em;font-weight:700;padding:.5em 0}.state-designer-container>div:last-child{flex:1 1;overflow:auto}.container-receiver div{margin-bottom:10px}.container-receiver div:last-child{margin-bottom:0}::ng-deep workflow-history-new tr.recalled{opacity:.5}"]
|
|
46224
46634
|
},] }
|
|
@@ -46228,7 +46638,7 @@
|
|
|
46228
46638
|
{ type: WorkflowHistoryService },
|
|
46229
46639
|
{ type: CoCauToChucService },
|
|
46230
46640
|
{ type: UserGroupRealService },
|
|
46231
|
-
{ type:
|
|
46641
|
+
{ type: DmChucVuService },
|
|
46232
46642
|
{ type: FileDataService }
|
|
46233
46643
|
]; };
|
|
46234
46644
|
WorkflowHistoryNewComponent.propDecorators = {
|
|
@@ -47034,6 +47444,11 @@
|
|
|
47034
47444
|
};
|
|
47035
47445
|
CongviecDinhkemService.prototype.getDetailItem = function (serviceCode, entity, entityKey, fieldDisplay) {
|
|
47036
47446
|
var serviceCodeEndpoint = this.env.apiDomain[serviceCode + "Endpoint"];
|
|
47447
|
+
if (!serviceCodeEndpoint) {
|
|
47448
|
+
var notifierService = this._injector.get(NotifierService);
|
|
47449
|
+
notifierService.showWarning("Kh\u00F4ng l\u1EA5y \u0111\u01B0\u1EE3c th\u00F4ng tin endpoint c\u1EE7a d\u1ECBch v\u1EE5 " + serviceCode);
|
|
47450
|
+
return new Promise(function (res, rej) { return res({ success: true, data: [] }); });
|
|
47451
|
+
}
|
|
47037
47452
|
var uri = serviceCodeEndpoint + "/" + this._moduleConfigService.getConfig().environment.apiVersion + "/" + entity + "/GetData";
|
|
47038
47453
|
var gridInfo = new GridInfo({
|
|
47039
47454
|
fields: fieldDisplay,
|
|
@@ -47043,6 +47458,150 @@
|
|
|
47043
47458
|
});
|
|
47044
47459
|
return this._http.post(uri, gridInfo).toPromise();
|
|
47045
47460
|
};
|
|
47461
|
+
CongviecDinhkemService.prototype.getDetailItems = function (dicGrouped) {
|
|
47462
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
47463
|
+
var result, serviceCodes, _loop_1, this_1, serviceCodes_1, serviceCodes_1_1, serviceCode, state_1, e_1_1;
|
|
47464
|
+
var e_1, _a;
|
|
47465
|
+
return __generator(this, function (_b) {
|
|
47466
|
+
switch (_b.label) {
|
|
47467
|
+
case 0:
|
|
47468
|
+
result = {};
|
|
47469
|
+
serviceCodes = Object.keys(dicGrouped);
|
|
47470
|
+
_loop_1 = function (serviceCode) {
|
|
47471
|
+
var entitys, _loop_2, entitys_1, entitys_1_1, entity, serviceCodeEndpoint, _loop_3, entitys_2, entitys_2_1, entity, e_2_1;
|
|
47472
|
+
var e_3, _a, e_2, _b;
|
|
47473
|
+
return __generator(this, function (_c) {
|
|
47474
|
+
switch (_c.label) {
|
|
47475
|
+
case 0:
|
|
47476
|
+
result[serviceCode] = {};
|
|
47477
|
+
entitys = Object.keys(dicGrouped[serviceCode]);
|
|
47478
|
+
_loop_2 = function (entity) {
|
|
47479
|
+
result[serviceCode][entity] = {};
|
|
47480
|
+
dicGrouped[serviceCode][entity].lstId.forEach(function (entityKey) {
|
|
47481
|
+
result[serviceCode][entity][entityKey] = 'Không tìm thấy bản ghi';
|
|
47482
|
+
});
|
|
47483
|
+
};
|
|
47484
|
+
try {
|
|
47485
|
+
for (entitys_1 = (e_3 = void 0, __values(entitys)), entitys_1_1 = entitys_1.next(); !entitys_1_1.done; entitys_1_1 = entitys_1.next()) {
|
|
47486
|
+
entity = entitys_1_1.value;
|
|
47487
|
+
_loop_2(entity);
|
|
47488
|
+
}
|
|
47489
|
+
}
|
|
47490
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
47491
|
+
finally {
|
|
47492
|
+
try {
|
|
47493
|
+
if (entitys_1_1 && !entitys_1_1.done && (_a = entitys_1.return)) _a.call(entitys_1);
|
|
47494
|
+
}
|
|
47495
|
+
finally { if (e_3) throw e_3.error; }
|
|
47496
|
+
}
|
|
47497
|
+
serviceCodeEndpoint = this_1.env.apiDomain[serviceCode + "Endpoint"];
|
|
47498
|
+
if (!serviceCodeEndpoint) {
|
|
47499
|
+
return [2 /*return*/, { value: void 0 }];
|
|
47500
|
+
}
|
|
47501
|
+
_loop_3 = function (entity) {
|
|
47502
|
+
var dataByEntity, uri, filters, gridInfo, data, err_1;
|
|
47503
|
+
return __generator(this, function (_a) {
|
|
47504
|
+
switch (_a.label) {
|
|
47505
|
+
case 0:
|
|
47506
|
+
dataByEntity = dicGrouped[serviceCode][entity];
|
|
47507
|
+
uri = serviceCodeEndpoint + "/" + this_1._moduleConfigService.getConfig().environment.apiVersion + "/" + entity + "/GetAllByFilter";
|
|
47508
|
+
filters = [];
|
|
47509
|
+
if (dataByEntity.lstId.length == 1) {
|
|
47510
|
+
filters.push(this_1.newFilter('id', exports.Operator.equal, dataByEntity.lstId[0]));
|
|
47511
|
+
}
|
|
47512
|
+
else {
|
|
47513
|
+
filters.push(this_1.newFilter('id', exports.Operator.in, dataByEntity.lstId));
|
|
47514
|
+
}
|
|
47515
|
+
gridInfo = new GridInfo({
|
|
47516
|
+
fields: "id," + dataByEntity.fieldHienThi,
|
|
47517
|
+
pageInfo: { page: 1, pageSize: dataByEntity.lstId.length },
|
|
47518
|
+
filters: filters,
|
|
47519
|
+
sorts: []
|
|
47520
|
+
});
|
|
47521
|
+
_a.label = 1;
|
|
47522
|
+
case 1:
|
|
47523
|
+
_a.trys.push([1, 3, , 4]);
|
|
47524
|
+
return [4 /*yield*/, (this_1._http.post(uri, gridInfo).toPromise())];
|
|
47525
|
+
case 2:
|
|
47526
|
+
data = _a.sent();
|
|
47527
|
+
if (data.success && data.data && data.data.length) {
|
|
47528
|
+
data.data.forEach(function (itemDetail) {
|
|
47529
|
+
result[serviceCode][entity][itemDetail.id] = itemDetail[dataByEntity.fieldHienThi];
|
|
47530
|
+
});
|
|
47531
|
+
}
|
|
47532
|
+
return [3 /*break*/, 4];
|
|
47533
|
+
case 3:
|
|
47534
|
+
err_1 = _a.sent();
|
|
47535
|
+
console.log(err_1);
|
|
47536
|
+
return [3 /*break*/, 4];
|
|
47537
|
+
case 4: return [2 /*return*/];
|
|
47538
|
+
}
|
|
47539
|
+
});
|
|
47540
|
+
};
|
|
47541
|
+
_c.label = 1;
|
|
47542
|
+
case 1:
|
|
47543
|
+
_c.trys.push([1, 6, 7, 8]);
|
|
47544
|
+
entitys_2 = (e_2 = void 0, __values(entitys)), entitys_2_1 = entitys_2.next();
|
|
47545
|
+
_c.label = 2;
|
|
47546
|
+
case 2:
|
|
47547
|
+
if (!!entitys_2_1.done) return [3 /*break*/, 5];
|
|
47548
|
+
entity = entitys_2_1.value;
|
|
47549
|
+
return [5 /*yield**/, _loop_3(entity)];
|
|
47550
|
+
case 3:
|
|
47551
|
+
_c.sent();
|
|
47552
|
+
_c.label = 4;
|
|
47553
|
+
case 4:
|
|
47554
|
+
entitys_2_1 = entitys_2.next();
|
|
47555
|
+
return [3 /*break*/, 2];
|
|
47556
|
+
case 5: return [3 /*break*/, 8];
|
|
47557
|
+
case 6:
|
|
47558
|
+
e_2_1 = _c.sent();
|
|
47559
|
+
e_2 = { error: e_2_1 };
|
|
47560
|
+
return [3 /*break*/, 8];
|
|
47561
|
+
case 7:
|
|
47562
|
+
try {
|
|
47563
|
+
if (entitys_2_1 && !entitys_2_1.done && (_b = entitys_2.return)) _b.call(entitys_2);
|
|
47564
|
+
}
|
|
47565
|
+
finally { if (e_2) throw e_2.error; }
|
|
47566
|
+
return [7 /*endfinally*/];
|
|
47567
|
+
case 8: return [2 /*return*/];
|
|
47568
|
+
}
|
|
47569
|
+
});
|
|
47570
|
+
};
|
|
47571
|
+
this_1 = this;
|
|
47572
|
+
_b.label = 1;
|
|
47573
|
+
case 1:
|
|
47574
|
+
_b.trys.push([1, 6, 7, 8]);
|
|
47575
|
+
serviceCodes_1 = __values(serviceCodes), serviceCodes_1_1 = serviceCodes_1.next();
|
|
47576
|
+
_b.label = 2;
|
|
47577
|
+
case 2:
|
|
47578
|
+
if (!!serviceCodes_1_1.done) return [3 /*break*/, 5];
|
|
47579
|
+
serviceCode = serviceCodes_1_1.value;
|
|
47580
|
+
return [5 /*yield**/, _loop_1(serviceCode)];
|
|
47581
|
+
case 3:
|
|
47582
|
+
state_1 = _b.sent();
|
|
47583
|
+
if (typeof state_1 === "object")
|
|
47584
|
+
return [2 /*return*/, state_1.value];
|
|
47585
|
+
_b.label = 4;
|
|
47586
|
+
case 4:
|
|
47587
|
+
serviceCodes_1_1 = serviceCodes_1.next();
|
|
47588
|
+
return [3 /*break*/, 2];
|
|
47589
|
+
case 5: return [3 /*break*/, 8];
|
|
47590
|
+
case 6:
|
|
47591
|
+
e_1_1 = _b.sent();
|
|
47592
|
+
e_1 = { error: e_1_1 };
|
|
47593
|
+
return [3 /*break*/, 8];
|
|
47594
|
+
case 7:
|
|
47595
|
+
try {
|
|
47596
|
+
if (serviceCodes_1_1 && !serviceCodes_1_1.done && (_a = serviceCodes_1.return)) _a.call(serviceCodes_1);
|
|
47597
|
+
}
|
|
47598
|
+
finally { if (e_1) throw e_1.error; }
|
|
47599
|
+
return [7 /*endfinally*/];
|
|
47600
|
+
case 8: return [2 /*return*/, result];
|
|
47601
|
+
}
|
|
47602
|
+
});
|
|
47603
|
+
});
|
|
47604
|
+
};
|
|
47046
47605
|
return CongviecDinhkemService;
|
|
47047
47606
|
}(BaseService));
|
|
47048
47607
|
CongviecDinhkemService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CongviecDinhkemService_Factory() { return new CongviecDinhkemService(i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(ModuleConfigService)); }, token: CongviecDinhkemService, providedIn: "root" });
|
|
@@ -47064,7 +47623,7 @@
|
|
|
47064
47623
|
_this._virtualBaseService = _virtualBaseService;
|
|
47065
47624
|
_this._congViecDinhKemService = _congViecDinhKemService;
|
|
47066
47625
|
_this.fileDataService = fileDataService;
|
|
47067
|
-
_this.
|
|
47626
|
+
_this._formState = exports.FormState.VIEW;
|
|
47068
47627
|
_this.layoutFile = exports.EnumFileLayout;
|
|
47069
47628
|
_this.enumFormState = exports.FormState;
|
|
47070
47629
|
_this.formModel = {};
|
|
@@ -47072,7 +47631,22 @@
|
|
|
47072
47631
|
_this.typedLink = '';
|
|
47073
47632
|
return _this;
|
|
47074
47633
|
}
|
|
47634
|
+
Object.defineProperty(BaseCongviecDinhkemComponent.prototype, "formState", {
|
|
47635
|
+
get: function () {
|
|
47636
|
+
return this._formState;
|
|
47637
|
+
},
|
|
47638
|
+
set: function (value) {
|
|
47639
|
+
this._formState = value;
|
|
47640
|
+
if (this.setting) {
|
|
47641
|
+
this.settingIfIsFormView();
|
|
47642
|
+
}
|
|
47643
|
+
},
|
|
47644
|
+
enumerable: false,
|
|
47645
|
+
configurable: true
|
|
47646
|
+
});
|
|
47647
|
+
;
|
|
47075
47648
|
BaseCongviecDinhkemComponent.prototype.ngOnInit = function () {
|
|
47649
|
+
var _this = this;
|
|
47076
47650
|
this.setting.objectName = 'mục đính kèm';
|
|
47077
47651
|
this.setting.baseService = this._congViecDinhKemService;
|
|
47078
47652
|
this.setting.hiddenSetting = true;
|
|
@@ -47082,11 +47656,10 @@
|
|
|
47082
47656
|
this.setting.hiddenPageSetting = true;
|
|
47083
47657
|
this.setting.hiddenAdvanceSearch = true;
|
|
47084
47658
|
this.setting.hiddenFilterRow = true;
|
|
47085
|
-
this.setting.hiddenCheckbox = this.formState == exports.FormState.VIEW;
|
|
47086
|
-
this.setting.hiddenFunctionColumn = this.formState == exports.FormState.VIEW;
|
|
47087
47659
|
this.setting.fixHeightTypeInDialog = false;
|
|
47088
47660
|
this.setting.heightType = exports.HeightType.dynamic;
|
|
47089
47661
|
this.setting.showExportSelectedItems = false;
|
|
47662
|
+
this.settingIfIsFormView();
|
|
47090
47663
|
this.setting.modelSchemas = [
|
|
47091
47664
|
new ModelSchema({ field: 'tenHienThiDoiTuong', name: 'Đối tượng', fullName: 'Đối tượng', description: 'Đối tượng' }),
|
|
47092
47665
|
new ModelSchema({ field: 'tieuDe', name: 'Tiêu đề', fullName: 'Tiêu đề', description: 'Tiêu đề' }),
|
|
@@ -47104,6 +47677,17 @@
|
|
|
47104
47677
|
dataType: 'fileDinhKem'
|
|
47105
47678
|
})
|
|
47106
47679
|
];
|
|
47680
|
+
this.rootContext.replaySubscribe(ComCtxConstants.ROOT.GAN_ENTITY_SANG_CONG_VIEC, function (rowData) {
|
|
47681
|
+
_this.themDinhKem(false);
|
|
47682
|
+
});
|
|
47683
|
+
};
|
|
47684
|
+
BaseCongviecDinhkemComponent.prototype.ngOnDestroy = function () {
|
|
47685
|
+
this.rootContext.unSubscribleReplay(ComCtxConstants.ROOT.GAN_ENTITY_SANG_CONG_VIEC);
|
|
47686
|
+
_super.prototype.ngOnDestroy.call(this);
|
|
47687
|
+
};
|
|
47688
|
+
BaseCongviecDinhkemComponent.prototype.settingIfIsFormView = function () {
|
|
47689
|
+
this.setting.hiddenCheckbox = this.formState == exports.FormState.VIEW;
|
|
47690
|
+
this.setting.hiddenFunctionColumn = this.setting.hiddenCheckbox;
|
|
47107
47691
|
};
|
|
47108
47692
|
BaseCongviecDinhkemComponent.prototype.modifyGridInfo = function (gridInfo) {
|
|
47109
47693
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -47115,50 +47699,57 @@
|
|
|
47115
47699
|
};
|
|
47116
47700
|
BaseCongviecDinhkemComponent.prototype.afterGetData = function () {
|
|
47117
47701
|
return __awaiter(this, void 0, void 0, function () {
|
|
47118
|
-
var
|
|
47702
|
+
var dicGrouped, dataDisplayName, _a, _b, item;
|
|
47119
47703
|
var e_1, _c;
|
|
47120
47704
|
return __generator(this, function (_d) {
|
|
47121
47705
|
switch (_d.label) {
|
|
47122
47706
|
case 0:
|
|
47123
|
-
|
|
47124
|
-
|
|
47125
|
-
|
|
47707
|
+
dicGrouped = {};
|
|
47708
|
+
this.model.dataSource.forEach(function (item) {
|
|
47709
|
+
if (!dicGrouped[item.serviceCode]) {
|
|
47710
|
+
dicGrouped[item.serviceCode] = {};
|
|
47711
|
+
}
|
|
47712
|
+
if (!dicGrouped[item.serviceCode][item.entity]) {
|
|
47713
|
+
dicGrouped[item.serviceCode][item.entity] = {
|
|
47714
|
+
fieldHienThi: item.fieldHienThi,
|
|
47715
|
+
lstId: []
|
|
47716
|
+
};
|
|
47717
|
+
}
|
|
47718
|
+
dicGrouped[item.serviceCode][item.entity].lstId.push(item.entityKey);
|
|
47719
|
+
});
|
|
47720
|
+
return [4 /*yield*/, this._congViecDinhKemService.getDetailItems(dicGrouped)];
|
|
47126
47721
|
case 1:
|
|
47127
|
-
|
|
47128
|
-
item = _b.value;
|
|
47129
|
-
return [4 /*yield*/, this._congViecDinhKemService.getDetailItem(item.serviceCode, item.entity, item.entityKey, item.fieldHienThi)];
|
|
47130
|
-
case 2:
|
|
47131
|
-
detail = (_d.sent()).data;
|
|
47132
|
-
if (detail.length > 0) {
|
|
47133
|
-
item.tieuDe = detail[0][item.fieldHienThi];
|
|
47134
|
-
}
|
|
47135
|
-
else {
|
|
47136
|
-
item.tieuDe = 'Không tìm thấy bản ghi';
|
|
47137
|
-
}
|
|
47138
|
-
if (item.tenHienThiDoiTuong != null) {
|
|
47139
|
-
item.tenHienThiDoiTuong = item.tenHienThiDoiTuong.trim();
|
|
47140
|
-
item.tenHienThiDoiTuong = item.tenHienThiDoiTuong.substring(0, 1).toUpperCase() + item.tenHienThiDoiTuong.substring(1);
|
|
47141
|
-
}
|
|
47142
|
-
_d.label = 3;
|
|
47143
|
-
case 3:
|
|
47144
|
-
_b = _a.next();
|
|
47145
|
-
return [3 /*break*/, 1];
|
|
47146
|
-
case 4: return [3 /*break*/, 7];
|
|
47147
|
-
case 5:
|
|
47148
|
-
e_1_1 = _d.sent();
|
|
47149
|
-
e_1 = { error: e_1_1 };
|
|
47150
|
-
return [3 /*break*/, 7];
|
|
47151
|
-
case 6:
|
|
47722
|
+
dataDisplayName = _d.sent();
|
|
47152
47723
|
try {
|
|
47153
|
-
|
|
47724
|
+
for (_a = __values(this.model.dataSource), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
47725
|
+
item = _b.value;
|
|
47726
|
+
item.tieuDe = dataDisplayName[item.serviceCode][item.entity][item.entityKey];
|
|
47727
|
+
if (item.tenHienThiDoiTuong != null) {
|
|
47728
|
+
item.tenHienThiDoiTuong = item.tenHienThiDoiTuong.trim();
|
|
47729
|
+
item.tenHienThiDoiTuong = item.tenHienThiDoiTuong.substring(0, 1).toUpperCase() + item.tenHienThiDoiTuong.substring(1);
|
|
47730
|
+
}
|
|
47731
|
+
}
|
|
47154
47732
|
}
|
|
47155
|
-
|
|
47156
|
-
|
|
47157
|
-
|
|
47733
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
47734
|
+
finally {
|
|
47735
|
+
try {
|
|
47736
|
+
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
47737
|
+
}
|
|
47738
|
+
finally { if (e_1) throw e_1.error; }
|
|
47739
|
+
}
|
|
47740
|
+
return [2 /*return*/];
|
|
47158
47741
|
}
|
|
47159
47742
|
});
|
|
47160
47743
|
});
|
|
47161
47744
|
};
|
|
47745
|
+
BaseCongviecDinhkemComponent.prototype.afterReloaded = function () {
|
|
47746
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
47747
|
+
return __generator(this, function (_a) {
|
|
47748
|
+
this.fileDataService.getData();
|
|
47749
|
+
return [2 /*return*/];
|
|
47750
|
+
});
|
|
47751
|
+
});
|
|
47752
|
+
};
|
|
47162
47753
|
BaseCongviecDinhkemComponent.prototype.viewLinkItem = function (evt) {
|
|
47163
47754
|
this.viewRawLink(evt);
|
|
47164
47755
|
};
|
|
@@ -47196,7 +47787,8 @@
|
|
|
47196
47787
|
});
|
|
47197
47788
|
}); });
|
|
47198
47789
|
};
|
|
47199
|
-
BaseCongviecDinhkemComponent.prototype.themDinhKem = function () {
|
|
47790
|
+
BaseCongviecDinhkemComponent.prototype.themDinhKem = function (showNoti) {
|
|
47791
|
+
if (showNoti === void 0) { showNoti = true; }
|
|
47200
47792
|
return __awaiter(this, void 0, void 0, function () {
|
|
47201
47793
|
var content, obj;
|
|
47202
47794
|
var _this = this;
|
|
@@ -47207,7 +47799,9 @@
|
|
|
47207
47799
|
if (obj.length > 0) {
|
|
47208
47800
|
this._congViecDinhKemService.themDinhKemNghiepVu(this.taskId, obj).then(function (rs) {
|
|
47209
47801
|
if (rs.success) {
|
|
47210
|
-
|
|
47802
|
+
if (showNoti) {
|
|
47803
|
+
_this._notifierService.showSuccess('Thêm mục đính kèm thành công!');
|
|
47804
|
+
}
|
|
47211
47805
|
_this.reload();
|
|
47212
47806
|
_this._commonService.clearClipboardStorage();
|
|
47213
47807
|
}
|
|
@@ -47328,7 +47922,7 @@
|
|
|
47328
47922
|
BaseCongviecDinhkemComponent.decorators = [
|
|
47329
47923
|
{ type: i0.Component, args: [{
|
|
47330
47924
|
selector: 'base-congviec-dinhkem',
|
|
47331
|
-
template: "<crud-list #crudList [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\" [hiddenAdd]=\"true\"\r\n [hiddenEdit]=\"true\" [hiddenDelete]=\"true\" [hiddenCopyLink]=\"true\" (onReload)=\"_triggerProcessData($event)\"\r\n (onView)=\"viewLinkItem($event)\" (onDelete)=\"deleteLinkItem($event)\"\r\n (onDeleteMultiple)=\"deleteLinkItemMultiple($event)\" (onReloaded)=\"
|
|
47925
|
+
template: "<crud-list #crudList [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\" [hiddenAdd]=\"true\"\r\n [hiddenEdit]=\"true\" [hiddenDelete]=\"true\" [hiddenCopyLink]=\"true\" (onReload)=\"_triggerProcessData($event)\"\r\n (onView)=\"viewLinkItem($event)\" (onDelete)=\"deleteLinkItem($event)\"\r\n (onDeleteMultiple)=\"deleteLinkItemMultiple($event)\" (onReloaded)=\"_handleReloaded($event)\">\r\n <ng-template #tieuDe let-rowData=\"rowData\">\r\n [{{rowData.tenHienThiDoiTuong}}] {{rowData.tieuDe}}\r\n </ng-template>\r\n <ng-template #buttonAfterToolbar>\r\n <button *ngIf=\"formState == enumFormState.EDIT || formState == enumFormState.ADD\" type=\"button\" pButton pRipple\r\n label=\"Th\u00EAm m\u1EDBi\" icon=\"pi pi-plus\" class=\"p-button-text p-button-primary\" (click)=\"themDinhKem()\"></button>\r\n <button type=\"button\"\r\n *ngIf=\"(formState == enumFormState.EDIT || formState == enumFormState.ADD) && model.selectedItems.length > 0\"\r\n pButton pRipple label=\"X\u00F3a\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-text p-button-danger\"\r\n (click)=\"deleteLinkItemMultiple($event)\"></button>\r\n </ng-template>\r\n <ng-template #function let-rowData=\"rowData\">\r\n <button *ngIf=\"formState == enumFormState.EDIT || formState == enumFormState.ADD\" type=\"button\" pButton pRipple\r\n icon=\"pi pi-trash\" class=\"p-button-rounded p-button-text p-button-danger\" pTooltip=\"H\u1EE7y \u0111\u00EDnh k\u00E8m\"\r\n tooltipPosition=\"top\" (click)=\"deleteLinkItem(rowData)\"></button>\r\n </ng-template>\r\n <ng-template #fileDinhKem let-rowData=\"rowData\">\r\n <file-manager [readonly]=\"true\" [serviceCode]=\"rowData.serviceCode\" [entity]=\"rowData.entity\"\r\n [entityKey]=\"rowData.entityKey\" [layout]=\"layoutFile.SIMPLE\">\r\n </file-manager>\r\n </ng-template>\r\n</crud-list>\r\n\r\n<tn-dialog *ngIf=\"showDetailForm\" #dialog [styleClass]=\"'congviec-form tn-form-dialog'\"\r\n [header]=\"setting.popupHeader | translate\" [popupSize]=\"setting.popupSize\" (onHide)=\"showDetailForm = false\">\r\n <base-congviec-dinhkem-form #formBase [taskId]=\"taskId\" [parentModel]=\"model\" [parentContext]=\"context\"\r\n [model]=\"formModel\" (onSaved)=\"showDetailForm = false;crudList.reload()\" (onCancel)=\"_handleCancel($event)\"\r\n (onAfterSaved)=\"onAfterSaved($event)\">\r\n </base-congviec-dinhkem-form>\r\n</tn-dialog>\r\n\r\n<tn-dialog *ngIf=\"showAttachLinkBox\" #dialog2 [maximizable]=\"false\" [header]=\"'Nh\u1EADp li\u00EAn k\u1EBFt' | translate\"\r\n [popupSize]=\"{ width: 600, height: 50}\" (onHide)=\"showAttachLinkBox = false; typedLink=''\">\r\n <div class=\"p-col-12\">\r\n <div class=\"p-grid\">\r\n <div class=\"p-md-10\">\r\n <input #input type=\"text\" placeholder=\"Nh\u1EADp li\u00EAn k\u1EBFt sao ch\u00E9p t\u1EEB ph\u00E2n h\u1EC7 kh\u00E1c...\" pInputText\r\n class=\"p-col-12\" [(ngModel)]=\"typedLink\" (keyup.enter)=\"addAttachLink()\" />\r\n </div>\r\n <div class=\"p-md-2\">\r\n <button type=\"button\" pButton class=\"p-button-primary p-col-12\" label=\"Ok\"\r\n [disabled]=\"typedLink != ''? null : true\" (click)=\"addAttachLink()\"></button>\r\n </div>\r\n </div>\r\n </div>\r\n <after-view-checked (loaded)=\"focusInput(input)\"></after-view-checked>\r\n</tn-dialog>",
|
|
47332
47926
|
providers: [ComponentContextService],
|
|
47333
47927
|
styles: [""]
|
|
47334
47928
|
},] }
|
|
@@ -47442,6 +48036,7 @@
|
|
|
47442
48036
|
},
|
|
47443
48037
|
];
|
|
47444
48038
|
_this.buttons = [];
|
|
48039
|
+
_this.mdWidthWorkflow = 6;
|
|
47445
48040
|
_this.handleChangeLoaiCongViecWhenAdd = function (evt) { return __awaiter(_this, void 0, void 0, function () {
|
|
47446
48041
|
return __generator(this, function (_a) {
|
|
47447
48042
|
switch (_a.label) {
|
|
@@ -47494,15 +48089,6 @@
|
|
|
47494
48089
|
label: 'Mô tả nội dung',
|
|
47495
48090
|
mdWidth: 12
|
|
47496
48091
|
}),
|
|
47497
|
-
new DropdownControlSchema({
|
|
47498
|
-
field: 'idLoaiCongViec',
|
|
47499
|
-
label: 'Phân loại',
|
|
47500
|
-
baseService: this._dmLoaiCongViecService,
|
|
47501
|
-
isTree: true,
|
|
47502
|
-
fieldTree: 'idParent',
|
|
47503
|
-
valueParentRoot: null,
|
|
47504
|
-
onChanged: onChangeLoaiCongViec
|
|
47505
|
-
}),
|
|
47506
48092
|
new DropdownControlSchema({
|
|
47507
48093
|
field: 'idPriority',
|
|
47508
48094
|
label: 'Độ ưu tiên',
|
|
@@ -47528,9 +48114,19 @@
|
|
|
47528
48114
|
}),
|
|
47529
48115
|
new PercentControlSchema({
|
|
47530
48116
|
field: 'phanTram',
|
|
47531
|
-
mdWidth:
|
|
48117
|
+
mdWidth: 6,
|
|
47532
48118
|
label: 'Tiến độ'
|
|
47533
48119
|
}),
|
|
48120
|
+
new DropdownControlSchema({
|
|
48121
|
+
field: 'idLoaiCongViec',
|
|
48122
|
+
label: 'Phân loại công việc',
|
|
48123
|
+
baseService: this._dmLoaiCongViecService,
|
|
48124
|
+
isTree: true,
|
|
48125
|
+
fieldTree: 'idParent',
|
|
48126
|
+
valueParentRoot: null,
|
|
48127
|
+
sorts: [{ field: 'maPhanCap', dir: 1 }],
|
|
48128
|
+
onChanged: onChangeLoaiCongViec
|
|
48129
|
+
}),
|
|
47534
48130
|
];
|
|
47535
48131
|
this.addSchemaBase();
|
|
47536
48132
|
};
|
|
@@ -47789,7 +48385,8 @@
|
|
|
47789
48385
|
this.setting.cols = [
|
|
47790
48386
|
new ColumnSchemaBase({
|
|
47791
48387
|
field: 'ten',
|
|
47792
|
-
dataType: 'congViecInfo'
|
|
48388
|
+
dataType: 'congViecInfo',
|
|
48389
|
+
width: '18rem'
|
|
47793
48390
|
}),
|
|
47794
48391
|
new ColumnSchemaBase({
|
|
47795
48392
|
field: 'ngayBatDau',
|
|
@@ -47801,7 +48398,7 @@
|
|
|
47801
48398
|
}),
|
|
47802
48399
|
new ColumnSchemaBase({
|
|
47803
48400
|
field: 'idLoaiCongViec',
|
|
47804
|
-
width: '
|
|
48401
|
+
width: '100px',
|
|
47805
48402
|
baseService: this._dmLoaiCongViecService,
|
|
47806
48403
|
isTree: true,
|
|
47807
48404
|
fieldTree: 'idParent',
|
|
@@ -47809,14 +48406,14 @@
|
|
|
47809
48406
|
}),
|
|
47810
48407
|
new ColumnSchemaBase({
|
|
47811
48408
|
field: 'idLinhVuc',
|
|
47812
|
-
width: '
|
|
48409
|
+
width: '100px',
|
|
47813
48410
|
baseService: this._dmLinhVucCongViecService
|
|
47814
48411
|
}),
|
|
47815
48412
|
new ColumnSchemaBase({
|
|
47816
48413
|
field: 'idPriority',
|
|
47817
48414
|
dataType: 'idPriority',
|
|
47818
48415
|
dataTypeRefField: 'idPriority',
|
|
47819
|
-
width: '
|
|
48416
|
+
width: '80px',
|
|
47820
48417
|
baseService: this._dmPriorityService,
|
|
47821
48418
|
fieldPlus: 'background,color',
|
|
47822
48419
|
funcSetValueRow: function (rowItem, data) {
|
|
@@ -48092,7 +48689,7 @@
|
|
|
48092
48689
|
BaseCongViecComponent.decorators = [
|
|
48093
48690
|
{ type: i0.Component, args: [{
|
|
48094
48691
|
selector: 'base-congviec',
|
|
48095
|
-
template: "<crud-list #crudList [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\" [hiddenAdd]=\"hiddenAdd\"\r\n [hiddenEdit]=\"hiddenEdit\" [hiddenDelete]=\"hiddenDelete\" [hiddenCopyLink]=\"true\" [hiddenAdd]=\"isFromDashboard\"\r\n (onCopyLink)=\"_copyLink($event)\" (onCopyLinkMultiple)=\"_copyLinkMultiple()\"
|
|
48692
|
+
template: "<crud-list #crudList [model]=\"model\" [setting]=\"setting\" [dataSource]=\"model.dataSource\" [hiddenAdd]=\"hiddenAdd\"\r\n [hiddenEdit]=\"hiddenEdit\" [hiddenDelete]=\"hiddenDelete\" [hiddenCopyLink]=\"true\" [hiddenAdd]=\"isFromDashboard\"\r\n [showScrollHorizontal]=\"true\" (onCopyLink)=\"_copyLink($event)\" (onCopyLinkMultiple)=\"_copyLinkMultiple()\"\r\n (onReload)=\"_triggerProcessData($event)\" (onAdd)=\"_add($event)\" (onEdit)=\"_edit($event)\" (onView)=\"_edit($event)\"\r\n (onDelete)=\"_delete($event)\" (onDeleteMultiple)=\"_deleteMultiple($event)\" (onReloaded)=\"_unmarkLoading()\"\r\n (onChangedStatusWorkflow)=\"handleChangedStatusWorkflow($event)\">\r\n <ng-template #buttonAfterToolbar>\r\n <button *ngIf=\"loaiDanhSach > 0 && !isPicker\" type=\"button\" pButton pRipple label=\"Ch\u1ECDn c\u00F4ng vi\u1EC7c\"\r\n icon=\"pi pi-plus\" class=\"p-button-text p-button-success\" (click)=\"onChonCongViec()\"></button>\r\n </ng-template>\r\n <ng-template #congViecInfo let-rowData=\"rowData\">\r\n <div class=\"container-task-info\">\r\n <div class=\"cell-task-info\">\r\n {{rowData.ten}}\r\n </div>\r\n <div class=\"percent-done\">\r\n <div class=\"detail transition-width\" [ngStyle]=\"{\r\n width: rowData.percentWidth\r\n }\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #idPriority let-rowData=\"rowData\">\r\n <div class=\"priority\">\r\n <span [ngStyle]=\"{\r\n color: rowData.priorityColor,\r\n background: rowData.priorityBackground\r\n }\">{{rowData.stridPriority}}</span>\r\n </div>\r\n </ng-template>\r\n</crud-list>\r\n<tn-dialog *ngIf=\"showDetailForm\" #dialog [styleClass]=\"'congviec-form tn-form-dialog'\"\r\n [header]=\"setting.popupHeader | translate\" [popupSize]=\"setting.popupSize\" (onHide)=\"showDetailForm = false\">\r\n <base-congviec-form #formBase [parentModel]=\"model\" [parentSetting]=\"setting\" [parentContext]=\"context\"\r\n [model]=\"formModel\" [crudList]=\"crudList\" (onSaved)=\"showDetailForm = false;crudList.reload()\"\r\n (onCancel)=\"_handleCancel($event)\" (onAfterSaved)=\"onAfterSaved($event)\">\r\n </base-congviec-form>\r\n</tn-dialog>\r\n\r\n<tn-dialog *ngIf=\"showPickerForm\" #dialog [styleClass]=\"'congviec-form tn-form-dialog'\"\r\n [header]=\"'Ch\u1ECDn c\u00F4ng vi\u1EC7c' | translate\" [popupSize]=\"setting.popupSize\" [showFooter]=\"true\"\r\n [useDefaultScrollBar]=\"true\" (onHide)=\"showPickerForm = false\">\r\n <base-congviec #congViecPicker [isPicker]=\"true\" [loaiDanhSach]=\"loaiDanhSach\" [idCongViec]=\"idCongViec\">\r\n </base-congviec>\r\n <ng-template #footer>\r\n <button type=\"button\" pButton icon=\"pi pi-save\" class=\"p-button-text\" [label]=\"'Ch\u1ECDn' | translate\"\r\n (click)=\"onSelectCongViec()\"></button>\r\n <button type=\"button\" pButton icon=\"pi pi-replay\" class=\"p-button-text p-button-secondary\"\r\n [label]=\"'FORM.CANCEL' | translate\" preventTab (click)=\"showPickerForm=false\"></button>\r\n </ng-template>\r\n</tn-dialog>",
|
|
48096
48693
|
providers: [ComponentContextService],
|
|
48097
48694
|
styles: [".container-task-info .percent-done{background-color:#f0f0f0;border-radius:2px;height:5px;margin-top:5px;overflow:hidden;position:relative}.container-task-info .percent-done .detail{background:#3eb839;border-radius:2px;font-size:13px;height:5px;left:0;position:absolute;text-align:center;top:0}.priority{text-align:center}.priority>span{border-radius:3px;font-size:.8em;padding:3px 7px}"]
|
|
48098
48695
|
},] }
|
|
@@ -50668,7 +51265,8 @@
|
|
|
50668
51265
|
};
|
|
50669
51266
|
ShareLinkByPermissionComponent.prototype.createShareLink = function () {
|
|
50670
51267
|
return __awaiter(this, void 0, void 0, function () {
|
|
50671
|
-
var permission, dicState, itemShares, dicPermissionId, content;
|
|
51268
|
+
var permission, dicState, itemShares, firstItem, colShowEditLink, fieldHienThi, value, dicPermissionId, content;
|
|
51269
|
+
var _this = this;
|
|
50672
51270
|
return __generator(this, function (_a) {
|
|
50673
51271
|
switch (_a.label) {
|
|
50674
51272
|
case 0:
|
|
@@ -50696,6 +51294,27 @@
|
|
|
50696
51294
|
dicState = _a.sent();
|
|
50697
51295
|
itemShares = new ModelShareLinkByPermission();
|
|
50698
51296
|
itemShares.linkToMenu = "" + top.location.origin + top.location.pathname;
|
|
51297
|
+
itemShares.sourcePath = "" + encodeURIComponent(top.location.href);
|
|
51298
|
+
itemShares.objectDisplayName = "" + encodeURIComponent(this.setting.objectName);
|
|
51299
|
+
if (typeof this.setting.displayField == 'string') {
|
|
51300
|
+
itemShares.displayField = "" + this.setting.displayField;
|
|
51301
|
+
}
|
|
51302
|
+
else {
|
|
51303
|
+
firstItem = this.lstItem[0];
|
|
51304
|
+
colShowEditLink = this.setting.cols.find(function (q) { return q.showEditLink; });
|
|
51305
|
+
fieldHienThi = null;
|
|
51306
|
+
if (colShowEditLink) {
|
|
51307
|
+
value = firstItem[colShowEditLink.field];
|
|
51308
|
+
// Nếu có value của `str${colShowEditLink.field}` thì là trường reference
|
|
51309
|
+
// => Chỉ lấy trường hợp trường gốc có dữ liệu và trường reference k có dữ liệu
|
|
51310
|
+
if (value && !firstItem["str" + colShowEditLink.field]) {
|
|
51311
|
+
fieldHienThi = colShowEditLink.field;
|
|
51312
|
+
}
|
|
51313
|
+
}
|
|
51314
|
+
if (fieldHienThi) {
|
|
51315
|
+
itemShares.displayField = "" + fieldHienThi;
|
|
51316
|
+
}
|
|
51317
|
+
}
|
|
50699
51318
|
itemShares.lstItemData = [];
|
|
50700
51319
|
this.lstItem.forEach(function (item) {
|
|
50701
51320
|
itemShares.lstItemData.push({
|
|
@@ -50703,6 +51322,13 @@
|
|
|
50703
51322
|
permission: permission,
|
|
50704
51323
|
state: encodeURIComponent(JSON.stringify(dicState[item.id]))
|
|
50705
51324
|
});
|
|
51325
|
+
if (!itemShares.displayField) {
|
|
51326
|
+
var rowItem = _this.lstItem.find(function (q) { return q.id == item.id; });
|
|
51327
|
+
if (typeof _this.setting.displayField != 'string') {
|
|
51328
|
+
var tenDayDu = _this.setting.displayField(rowItem);
|
|
51329
|
+
content += "&displayField=&tenDayDu=" + encodeURIComponent(tenDayDu);
|
|
51330
|
+
}
|
|
51331
|
+
}
|
|
50706
51332
|
});
|
|
50707
51333
|
return [4 /*yield*/, this.setting.baseService.getSharedKey(itemShares)];
|
|
50708
51334
|
case 2:
|
|
@@ -50723,7 +51349,7 @@
|
|
|
50723
51349
|
ShareLinkByPermissionComponent.prototype.copyLinkToClipboard = function () {
|
|
50724
51350
|
if (this.links) {
|
|
50725
51351
|
this.copyToClipboard(this.links);
|
|
50726
|
-
this._notifierService.
|
|
51352
|
+
this._notifierService.showSuccess('Copy link vào clipboard thành công');
|
|
50727
51353
|
}
|
|
50728
51354
|
};
|
|
50729
51355
|
return ShareLinkByPermissionComponent;
|
|
@@ -50817,6 +51443,7 @@
|
|
|
50817
51443
|
StateMachinesConnectionReceiverDepartmentComponent,
|
|
50818
51444
|
StateMachinesConnectionReceiverGroupComponent,
|
|
50819
51445
|
StateMachinesConnectionReceiverRoleComponent,
|
|
51446
|
+
StateMachinesConnectionReceiverConditionComponent,
|
|
50820
51447
|
StateMachinesConnectionSenderComponent,
|
|
50821
51448
|
StateMachinesDesignerComponent,
|
|
50822
51449
|
StartWorkflowComponent,
|
|
@@ -53219,74 +53846,76 @@
|
|
|
53219
53846
|
exports.ɵcd = SimpleWorkflowFormComponent;
|
|
53220
53847
|
exports.ɵce = ProcessWorkflowFormComponent;
|
|
53221
53848
|
exports.ɵcf = ProcessWorkflowTargetComponent;
|
|
53222
|
-
exports.ɵcg =
|
|
53223
|
-
exports.ɵch =
|
|
53224
|
-
exports.ɵci =
|
|
53225
|
-
exports.ɵcj =
|
|
53226
|
-
exports.ɵck =
|
|
53227
|
-
exports.ɵcl =
|
|
53228
|
-
exports.ɵcm =
|
|
53229
|
-
exports.ɵcn =
|
|
53230
|
-
exports.ɵco =
|
|
53231
|
-
exports.ɵcp =
|
|
53232
|
-
exports.ɵcq =
|
|
53233
|
-
exports.ɵcr =
|
|
53234
|
-
exports.ɵcs =
|
|
53235
|
-
exports.ɵct =
|
|
53236
|
-
exports.ɵcu =
|
|
53237
|
-
exports.ɵcv =
|
|
53238
|
-
exports.ɵcw =
|
|
53239
|
-
exports.ɵcx =
|
|
53240
|
-
exports.ɵcy =
|
|
53241
|
-
exports.ɵcz =
|
|
53849
|
+
exports.ɵcg = DmChucVuService;
|
|
53850
|
+
exports.ɵch = ChoYKienFormComponent;
|
|
53851
|
+
exports.ɵci = SplashComponentV1Component;
|
|
53852
|
+
exports.ɵcj = StateMachinesConnectionReceiverComponent;
|
|
53853
|
+
exports.ɵck = StateMachinesConnectionReceiverUserComponent;
|
|
53854
|
+
exports.ɵcl = StateMachinesConnectionReceiverConditionComponent;
|
|
53855
|
+
exports.ɵcm = StateMachinesConnectionReceiverDepartmentComponent;
|
|
53856
|
+
exports.ɵcn = StateMachinesConnectionReceiverGroupComponent;
|
|
53857
|
+
exports.ɵco = StateMachinesConnectionReceiverRoleComponent;
|
|
53858
|
+
exports.ɵcp = StateMachinesConnectionSenderComponent;
|
|
53859
|
+
exports.ɵcq = StartWorkflowComponent;
|
|
53860
|
+
exports.ɵcr = WorkflowSettingsService;
|
|
53861
|
+
exports.ɵcs = ShareLinkByPermissionComponent;
|
|
53862
|
+
exports.ɵct = WorkflowSettingNewComponent;
|
|
53863
|
+
exports.ɵcu = PermissionSharingComponent;
|
|
53864
|
+
exports.ɵcv = WorkflowPermissionService;
|
|
53865
|
+
exports.ɵcw = TnDialogComponent;
|
|
53866
|
+
exports.ɵcx = TnColorPickerComponent;
|
|
53867
|
+
exports.ɵcy = TnTinymceComponent;
|
|
53868
|
+
exports.ɵcz = TnTabViewComponent;
|
|
53242
53869
|
exports.ɵd = ExceptionHandlerService;
|
|
53243
|
-
exports.ɵda =
|
|
53244
|
-
exports.ɵdb =
|
|
53245
|
-
exports.ɵdc =
|
|
53246
|
-
exports.ɵdd =
|
|
53247
|
-
exports.ɵde =
|
|
53248
|
-
exports.ɵdf =
|
|
53249
|
-
exports.ɵdg =
|
|
53250
|
-
exports.ɵdh =
|
|
53251
|
-
exports.ɵdi =
|
|
53252
|
-
exports.ɵdj =
|
|
53253
|
-
exports.ɵdk =
|
|
53254
|
-
exports.ɵdl =
|
|
53255
|
-
exports.ɵdm =
|
|
53256
|
-
exports.ɵdn =
|
|
53257
|
-
exports.ɵdo =
|
|
53258
|
-
exports.ɵdp =
|
|
53259
|
-
exports.ɵdq =
|
|
53260
|
-
exports.ɵdr =
|
|
53261
|
-
exports.ɵds =
|
|
53262
|
-
exports.ɵdt =
|
|
53263
|
-
exports.ɵdu =
|
|
53264
|
-
exports.ɵdv =
|
|
53265
|
-
exports.ɵdw =
|
|
53266
|
-
exports.ɵdx =
|
|
53267
|
-
exports.ɵdy =
|
|
53268
|
-
exports.ɵdz =
|
|
53870
|
+
exports.ɵda = TableDetailFormComponent;
|
|
53871
|
+
exports.ɵdb = FileIconPipe;
|
|
53872
|
+
exports.ɵdc = FileSizePipe;
|
|
53873
|
+
exports.ɵdd = QuickAddFormComponent;
|
|
53874
|
+
exports.ɵde = PreventShiftTabDirective;
|
|
53875
|
+
exports.ɵdf = TnTemplateDirective;
|
|
53876
|
+
exports.ɵdg = UserPickerComponent;
|
|
53877
|
+
exports.ɵdh = UserPickerBoxComponent;
|
|
53878
|
+
exports.ɵdi = CoCauToChucTestService;
|
|
53879
|
+
exports.ɵdj = TnAppHelpComponent;
|
|
53880
|
+
exports.ɵdk = PathNameService;
|
|
53881
|
+
exports.ɵdl = HelperCurrentPageComponent;
|
|
53882
|
+
exports.ɵdm = TnAppNotificationListComponent;
|
|
53883
|
+
exports.ɵdn = TnAppNotificationComponent;
|
|
53884
|
+
exports.ɵdo = MyDriveService;
|
|
53885
|
+
exports.ɵdp = FileVersionService;
|
|
53886
|
+
exports.ɵdq = FileExplorerNewService;
|
|
53887
|
+
exports.ɵdr = FolderFormComponent;
|
|
53888
|
+
exports.ɵds = FileFormComponent;
|
|
53889
|
+
exports.ɵdt = FileViewerComponent;
|
|
53890
|
+
exports.ɵdu = FileVersionListComponent;
|
|
53891
|
+
exports.ɵdv = WorkflowHistoryComponent;
|
|
53892
|
+
exports.ɵdw = EntityWorkflowHistoryService;
|
|
53893
|
+
exports.ɵdx = WorkflowHistoryDialogComponent;
|
|
53894
|
+
exports.ɵdy = WorkflowHistoryNewComponent;
|
|
53895
|
+
exports.ɵdz = WorkflowSettingComponent;
|
|
53269
53896
|
exports.ɵe = CanBo_HoSoService;
|
|
53270
|
-
exports.ɵea =
|
|
53271
|
-
exports.ɵeb =
|
|
53272
|
-
exports.ɵec =
|
|
53273
|
-
exports.ɵed =
|
|
53274
|
-
exports.ɵee =
|
|
53275
|
-
exports.ɵef =
|
|
53276
|
-
exports.ɵeg =
|
|
53277
|
-
exports.ɵeh =
|
|
53278
|
-
exports.ɵei =
|
|
53279
|
-
exports.ɵej =
|
|
53280
|
-
exports.ɵek =
|
|
53281
|
-
exports.ɵel =
|
|
53282
|
-
exports.ɵem =
|
|
53283
|
-
exports.ɵen =
|
|
53284
|
-
exports.ɵeo =
|
|
53285
|
-
exports.ɵep =
|
|
53286
|
-
exports.ɵeq =
|
|
53287
|
-
exports.ɵer =
|
|
53288
|
-
exports.ɵes =
|
|
53289
|
-
exports.ɵet =
|
|
53897
|
+
exports.ɵea = EntityWorkflowSettingService;
|
|
53898
|
+
exports.ɵeb = WorkflowSettingDialogComponent;
|
|
53899
|
+
exports.ɵec = QrCodeGeneratorComponent;
|
|
53900
|
+
exports.ɵed = AccessDeniedV1Component;
|
|
53901
|
+
exports.ɵee = AddNewsComponent;
|
|
53902
|
+
exports.ɵef = ArticleService;
|
|
53903
|
+
exports.ɵeg = NewsCategoryService;
|
|
53904
|
+
exports.ɵeh = NotFoundComponent;
|
|
53905
|
+
exports.ɵei = UniversalLinkProcessorComponent;
|
|
53906
|
+
exports.ɵej = SignatureDetailComponent;
|
|
53907
|
+
exports.ɵek = ChatService;
|
|
53908
|
+
exports.ɵel = ContentsService;
|
|
53909
|
+
exports.ɵem = StatusExtendsService;
|
|
53910
|
+
exports.ɵen = MessageBoardService;
|
|
53911
|
+
exports.ɵeo = KySoSimDanhSachChuKyComponent;
|
|
53912
|
+
exports.ɵep = KySoSimChuKyUserService;
|
|
53913
|
+
exports.ɵeq = FileKySoSimComponent;
|
|
53914
|
+
exports.ɵer = KySoSimSignPDFService;
|
|
53915
|
+
exports.ɵes = CheckReadyComponent;
|
|
53916
|
+
exports.ɵet = SendAccessTokenInterceptor;
|
|
53917
|
+
exports.ɵeu = LogInterceptor;
|
|
53918
|
+
exports.ɵev = PermissionUtilsInterceptor;
|
|
53290
53919
|
exports.ɵf = AfterViewCheckedComponent;
|
|
53291
53920
|
exports.ɵg = AdvanceSearchComponent;
|
|
53292
53921
|
exports.ɵh = AppRootMenuComponent;
|